タイトルの横に線を引きたい
先に見本を示すとこういう事がしたかった
See the Pen タイトルの横に線を引く by yuzu (@yuzu441) on CodePen.
参考にしたもの
やりたかったこととの差
参考にさせていただいた例では左右に線を引いて文字を真ん中に持ってきていて、左右どちらかの線が無い場合、文字サイズ分を引いた残りの部分全てに線を引いてしまいます
やりたかったこととしては左右両方ではなく、片方に特定の長さ線を引きたかった
やったこと
flex-grow
プロパティを使って長さを調節していたので、それを普通のwidth
にして長さを指定することで期待したものができました
長さを変更したい場合はwidth
の設定を変更すると長さを変更できます
数年振りにcssについて調べてsassを書いてみた
久しぶりにWebページを作る仕事が来て js関連は調べてるけど、css関連は全く知らないのでcss周りについてちょっと調べた
情報収集
とりあえずパイが多いやつってなんなんだろうと思って調べた
PostCSSはなんかbabel的なやつでしょという理解はあったけどSass, Lessは全くわからなくてtwitterで聞いたら教えてもらえた
社長さんにはsassとか使うと戻れなくなる的なこと言われたけどsass, scss, lessの違いがわからんし、どれ選べばnodeで完結できます?
— ゆず🍦 (@yuzu_441) 2018年8月14日
Sass (.sass) / SCSS (.scss) は Sass 言語が持つ 2 つの記法ですね
— Chalk (@chalkygames123) August 15, 2018
主流は後者で、CSS のスーパーセットなので既存の CSS をそのまま持ってこれます
前者はインデントベースの記法です
node-sass があればどっちもコンパイルできます
Less はまた別のメタ言語で今はあまり使われてないです
教えてもらったしsass使ってみることにしました
sassについて
なんでsass(scss)って書かれてるのかと思ったら記法が2つあるみたいで
インデントでブロックを表すもの(Sass)と、cssのように{}
でブロックを表すもの(Scss)がある
sassを使ってみる
(sassというか書いてるのscssですが) そもそもはsassはrubyで動かすツールみたいですが、フロントエンドなんだからNode.js使いたいですね
というわけでnode-sassを使うことにしました
インストール
適当にプロジェクトのディレクトリを作ってnpmからツールを取ってくる
yarn add -D node-sass
使ってみる
// src/style.scss div { color: red; p { color: blue; } }
これをnpx node-sass src/style.scss dist/style.css
でコンパイルすると下みたいな感じになるらしい
/* dist/style.css */ div { color: red; } div p { color: blue; }
アウトプット見るとclassを入れ子にしていくことでnamespaceっぽいことができるイメージなんだろうな
まとめ
とりあえず動かせることはできた
sassを使うことで入れ子にしたり、変数使ったり、forでコード生成したりもできるらしい
最初に貼ったsurvey見ても、結構生css使ってる人とか多いっぽいしbemで書けばなんとかなるなと考えている
なのでもうちょっと触ってみてプロジェクトに導入するかどうかを決めようと思ってる
もしこれ読んだらSassの素晴らしさがわかるみたいなのあれば教えていただけると嬉しいです
dockerでフロントの開発環境を作ろうとした話
こんにちは、ソウルジェムが日々濁っているゆずです
タイトル通り今回は開発環境をdocker化しようとした話なんだけど結果的に実現できず妥協したので、いい方法知ってる人はtwitterなりで教えていただけると嬉しいです
tl;dr
- ローカルで
yarn install
して、ビルド自体はdocker上でやるようにした - ローカルで
yarn install
しとかないとエディタが型解決したりできない - ビルドした成果物だけが欲しい時はdockerさえあれば成果物だけ取得できる
動機
本番は使わせてもらえなさそうなので、開発環境ならdocker化しても文句言われないしぼっちプロジェクトチームなのでバレないだろうと思いたち、とりあえず手元にあったフロントのプロジェクトをdocker化にチャレンジしてみた
実現したいこと
docker-compose up -d
したら開発に参加できる*1
やったこと
とりあえずdocker-compose.yml書く
既に1000000煎じくらいなので誰かがやってるだろと、検索したらこれだよみたいなの見つけた
これを参考にdocker-compose.yml書いた
version: "3" services: build: image: node:10 working_dir: /app restart: always command: yarn run watch:dev # yarn install && webpack -d -w volumes: - .:/app - node_modules:/app/node_modules volumes: node_modules: driver: local
これでいいかーという感じだったが、これだとエディタ(例えばVSCodeとか)がimport
解決できないし、git clone
した時にnode_modules
がdocker権限でできてしまいyarn install
できなくなってしまう
結局
.gitkeep
みたいなの置くのは嫌だったので、結局volumes
にnode_modules以外のビルドに必要なファイルを個別で指定するようにした
version: "3" services: build: image: node:10 working_dir: /app restart: always command: yarn run watch:dev # yarn install && webpack -d -w volumes: - ./public:/app/public - ./src:/app/src - ./package.json:/app/package.json - ./tsconfig.json:/app/tsconfig.json - ./webpack.config.js:/app/webpack.config.js - ./yarn.lock:/app/yarn.lock - node_modules:/app/node_modules volumes: node_modules: driver: local
基本的にはsrc
以下が増えていくはずなので、volumesを変更することって無いだろうなということで、これで少しの間開発していこうと思ってる
これで一応docker-compose up -d
とかして、手元でyarn install
すれば開発できる*2