(57) 【Sass入門#2】sassでcssを簡潔に書く。

投稿者: | 2018年9月3日

この記事は最終更新から 1147日 が経過しています。

1. やりたいこと

前回の (56) 【Sass入門#1】sassでcssを簡潔に書く。 の続き。

Sassを使って CSSファイルの記述内容を整理整頓したい。

3. やってみる

(1) 変数を使う。

こんな SCSSファイルを作成した。
style.scss

$def-width: 300px;
div#box{
  width: $def-width;
  height: 100px;
}

このファイルを SASSで CSSに変換してみる。

sass -t expanded style.scss:style.css

こんな CSSファイルが出来た。
style.css

div#box {
  width: 300px;
  height: 100px;
}

(2) @mixinでテンプレートを利用

こんな SCSSファイルを作成した。
style.scss

@mixin my-block( $color, $bg-color, $border-width ){
  border: $border-width #000 solid;
  color: $color;
  background-color: $bg-color;
}
div#block1{
  @include my-block(#ff0, #222, 3px);
}
div#block2{
  @include my-block(#008, #ffe, 2px);
}

このファイルを SASSで CSSに変換してみる。

sass -t expanded style.scss:style.css

こんな CSSファイルが出来た。
style.css

div#block1 {
  border: 3px #000 solid;
  color: #ff0;
  background-color: #222;
}

div#block2 {
  border: 2px #000 solid;
  color: #008;
  background-color: #ffe;
}

(3) @extendで既存の定義を流用

こんな SCSSファイルを作成した。
style.scss

.my-blk{
  border: 2px #000 solid;
  border-radius: 10px;
  overflow: hidden;
}
.the-block1{
  @extend .my-blk;
  color: #f00;  
}

このファイルを SASSで CSSに変換してみる。

sass -t expanded style.scss:style.css

こんな CSSファイルが出来た。
style.css

.my-blk, .the-block1 {
  border: 2px #000 solid;
  border-radius: 10px;
  overflow: hidden;
}
.the-block1 {
  color: #f00;
}

一瞬「あれっ?反映されてないじゃん?」って迷ってしまったが、.my-blk の宣言の後ろに .the-block1 が追加されていた。

(4) @functionで関数を作る。

こんな SCSSファイルを作成した。
style.scss

@function get-half( $v ){
  @return round($v / 2);
}
$box-w: 600px;

div.blk{
  width: get-half($box-w);
  height: 100px;
}

このファイルを SASSで CSSに変換してみる。

sass -t expanded style.scss:style.css

こんな CSSファイルが出来た。
style.css

div.blk {
  width: 300px;
  height: 100px;
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)