数年振りに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の素晴らしさがわかるみたいなのあれば教えていただけると嬉しいです