Sassを使って3倍速くCSSを書く

Sassって何?

Sassって何?

簡単に言うとCSSをプログラムチックに書けるもの。

実行するにはRubyが必要。

でもインストールは簡単なので心配なく。

こんなこと思ったことありませんか?

例えば

・余白に毎回同じ数値を指定している。(基本の余白は12px、みたいに設定したい)

・CSS3を全ブラウザ向けに書くの大変…。

・このclassを使いたいけど、ひとつだけ指定を別にしたいんだよな…別class作るか…。

Sassならできます。

同じ指定を1か所で定義して使いまわす

/* sassの書式 */
$blue: #3bbfce;
$margin: 16px;

.content-navigation {
  border-color: $blue;
  color:
    darken($blue, 9%);
}

.border {
  padding: $margin / 2;
  margin: $margin / 2;
  border-color: $blue;
}
/* 出力された結果 */
.content-navigation {
  border-color: #3bbfce;
  color: #2b9eab;
}

.border {
  padding: 8px;
  margin: 8px;
  border-color: #3bbfce;
}

複数の指定をまとめて再利用する

/* sassの書式 */
@mixin table-base {
  th {
    text-align: center;
    font-weight: bold;
  }
  td, th {padding: 2px}
}

@mixin left($dist) {
  float: left;
  margin-left: $dist;
}

#data {
  @include left(10px);
  @include table-base;
}
/* 出力された結果 */
#data {
  float: left;
  margin-left: 10px;
}
#data th {
  text-align: center;
  font-weight: bold;
}
#data td, #data th {
  padding: 2px;
}

classの使いたいところだけを使う

/* sassの書式 */
.error {
  border: 1px #f00;
  background: #fdd;
}
.error.intrusion {
  font-size: 1.3em;
  font-weight: bold;
}

.badError {
  @extend .error;
  border-width: 3px;
}
/* 出力された結果 */
.error, .badError {
  border: 1px #f00;
  background: #fdd;
}

.error.intrusion,
.badError.intrusion {
  font-size: 1.3em;
  font-weight: bold;
}

.badError {
  border-width: 3px;
}
Demo
ご清聴ありがとうございました。

Pages: 1/1