ボクココ

個人開発に関するテックブログ

Sass をより効率よく使うための機能4つ厳選

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が書けるのではないだろうか。

そのほかの機能は本家ドキュメントを参照してほしい。