従来のCSS開発はプログラミングのようにできないので、重複コードやメンテナンス性はよくない欠点があります。Sassは簡単な文法でCSSを自動的に作成できるようなプリプロセッサです、簡単にいえば開発言語ではなく、C言語のマクロのようなものです。CompassはSassのライブラリのようなものです、少ないコードで素晴らしいCSS効果を簡単に実装できます。
オフィシャルサイト
http://sass-lang.com/
http://compass-style.org/
http://zengrids.com/
*zengridsはページレイアウト設計のフレームワークです。
Sass文法纏め
1、変数例 $mycolor:#cc11ee; .div1 { color:$mycolor; } $side:left; .div2 { border-#{$side}-radius:3px; } 2、計算処理 body { margin:(14px/2); top:50px + 40px; padding-right:$var * 10%; } 3、ネスト div { h1 { color:blue; } } span { border: { color:yellow; } } *borderの後ろのコロンは必要不可欠です。 4、コメント C言語と同じようですが、違いの理解も重要です。 /* This is a block comment. */ コンパイル後のCSSにも入ります。 // This is a line comment. コンパイル後のCCSには入りません。 5、継承 .class1 { border:1px solid red; } .class2 { @extend .class1; font-size:14px; } 5、Mixin C言語のマクロに似ます。 @mixin left { float:left; margin-left:20px; } @includeを使ってmixinを使う div { @include left; } 引数指定 @mixin left($value:5px) { float:left; margin-left:$value; } *$valueの暗黙値も指定した。 div { @include left(20px); } 6、カラー関数 Sassは内部的にカラー関数を提供しています。 使用例 lighten(#cc3, 10%) //#d6d65c darken (#cc3, 10%) //#a3a329 grayscale(#cc3) //#808080 complement(#cc3) //#33c 7、インポート 外部ファイルを参照する @import("path/filename.scss"); 8、条件判断 p { @if 1+1==2 {border:1px solid red;} @if 5<3 {border:2px dotted green;} @else {border:5px double blue;} } 9、ループ処理 @for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid red; } } $i:3; @while $i > 0 { .item-#{$i} {width:2px * $i;} $i:$i - 1; } @each $member in a,b,c,d { .#{$member} { background-image:url("/img/#{$member}.png"); } } 10、関数定義 @function myfunc($a, $b) { @return $a + $b; } #sidebar { width: myfunc(3px, 5px); }
0 件のコメント:
コメントを投稿