お品書き
書き直し中…
とりあえず、中へどうぞ
↓↓↓
スポンサーリンク

SASSを使ってみる2 SASSのその他の機能

便利ツール/ソフトウェア
はい、というわけで、前回はSASSを使ってみたわけですが~とラジオDJ風に書き出してみたりして。

SASSの続きです。

SASSには、CSSにはない独自の便利機能も持っているそうです。

(1)変数が使える

「$」記号を使って変数を宣言して、それをスタイルの中で使えるそうです。

このように使う
$haba: 600px; #main { width: $haba; }

(2)計算も使える

$haba: 600px; #side { width: $haba / 2; height: 150px * 3; margin: 100% -50; }

コンパイルするとこうなる。

#side { width: 300px; height: 450px; margin: 50%; }

(3)関数を定義して使うことができる

@function nibai($value) { @return ($value * 2); } .main{ width: nibai(300px); }

コンパイルすると

.main { width: 600px; }

条件分岐「if」

こんな感じで使います

$type: monster; p { @if $type == ocean { color: blue; } @else if $type == matador { color: red; } @else if $type == monster { color: green; } @else { color: black; } }

コンパイルすると(変数$typeの値がmonsterと最初に宣言されているので

p { color: green; }

繰り返し「for」

@for $i from 1 through 3 { .item-#{$i} { width: 2em * $i; } }

出力は

.item-1 { width: 2em; } .item-2 { width: 4em; } .item-3 { width: 6em; }

(4)外部のSassファイルをインポートできる

@import "header.scss"; @import "footer.scss";

バラバラに作っておいて、後で合体させることができるわけですね。

(5)他のスタイルを継承させる事ができる

.wakusen{ padding: 10px; border: 1px solid gray; background-color: lightcyan; } .bottun{ @extend .wakusen; //.wakusenのスタイルを継承 background-color: lightblue; //スタイルの上書き font-size: 1.5em; //スタイルの追加 }

コンパイル後

.wakusen, .bottun { padding: 10px; border: 1px solid gray; background-color: lightcyan; } .bottun { background-color: lightblue; font-size: 1.5em; }

(6)その他

「 @mixin 」(引数の指定)
「 @content 」(@mixinの中で使用、コンテントブロックを渡す)
「 @at-root 」(ネストを解除)

前回の記事で「既存のCSSはSASSに変換できない」と書きましたが、それをやってくれるサイト(サービス)を発見!

http://css2sass.herokuapp.com/

これは便利・・・

こういうのがあると、SASSはますます普及していくかも知れませんね。

そのうち、コンパイルしなくてもSCSSを直接ブラウザが読めるようになっていくのかも?

コメント