Sass といえば Rails でデフォルトで搭載されている, CSSを描きやすくするためのライブラリだ。「CSSをネスト構造で記述できる」というだけでSassの80%以上使いこなしていると言えるのだと思っているけど、残りの数%について、特に便利なものを調べたのでまとめてみる。
親要素の参照
hover とか、そういうのをネストの中に含めたい時。 &
を使って表現できる。
a { text-decoration: none; &:hover { text-decoration: underline; } }
変数
よく使う色の値とかを変数にまとめられる。毎回、直にRGB指定する必要がなくなる。 $を要素にすれば代入、値にすれば参照となる。
$width: 5em; #main { width: $width; }
CSS拡張
ありがちな "btn btn-primary" のような指定を、"btn-primary"だけでよくする。@extendを使って共通部分をインクルードできる。
.btn { border: 1px #f00; padding: 12px 4px; background-color: gray; } .btn-primary { @extend .btn; background-color: blue; }
関数的な使い方
opacity とか、ブラウザ互換のためにそれぞれを書かなくてもよくなる
@mixin opacity($percent: 0.6) { filter:alpha(opacity=$percent * 100); -moz-opacity: $percent; opacity: $percent; } a:hover { text-decoration: none; @include opacity(); }
おわりに
実際は for とか if とかも書けちゃって、もはや一つの言語のようになっている。ただそれらはCSSではそこまで使用することもないかと思うので、ネスト構造としてだけ使っていたSassユーザーの方はとりあえずこの4つを使いこなせるようになれればさらに効率よくCSSが書けるのではないだろうか。
そのほかの機能は本家ドキュメントを参照してほしい。