CSSコーディングで泣かないためのSassの基礎知識と10の利点:爆捗! WordPressテーマ作成ショートカット(3)(3/3 ページ)
本連載では、CMSのスタンダードでもある「WordPress」のテーマ作成を、Dreamweaverをメインに用いてさまざまなモダンな技術を組み合わせながら爆発的に捗(はかど)らせる方法を解説していく。今回は、現場におけるCSSコーディングの3つの問題点、Sassの概要と主な10の機能、SASS記法とSCSS記法の違いなどを紹介。
Sassの利点9:条件分岐や繰り返し処理ができる
さらに条件分岐や繰り返し処理をすることもできる。これには頭に「@」を付けた命令文を記述して、JavaScriptなどのように比較演算子などを記述する。
特に繰り返し文は、メニューなどでそれぞれ違ったIDなどを持った要素にCSSを設定したいといったときに威力を発揮する。
@if
$type: moge; p { @if $type == hoge{ color: blue; } @else if $type == huga{ color: red; } @else if $type == move{ color: green; } @else { color: black; } }
↓コンパイル
p { color: green; }
@for
@for $i from 1 through 5 { .nav-#{$i} { width: 2em * $i; } }
↓コンパイル
.nav-1 { width: 2em; } .nav-2 { width: 4em; } .nav-3 { width: 6em; } .nav-4 { width: 8em; } .nav-5 { width: 10em; }
@each
@each $str hoge, huga, moge, moga{ .#{$str }-name{ background-image: url('/images/#{$str}.png'); } }
↓コンパイル
.hoge-name { background-image: url("/images/hoge.png"); } .huga-name { background-image: url("/images/huga.png"); } .moge-name { background-image: url("/images/moge.png"); } .moga-name { background-image: url("/images/moga.png"); }
@while
$i: 1; @while $i < 5 { .item-#{$i} { width: 2em * $i; } $i: $i + 1; }
↓コンパイル
.item-1 { width: 2em; } .item-2 { width: 4em; } .item-3 { width: 6em; } .item-4 { width: 8em; }
Sassの利点10:コンパイルオプションで変換の仕方を変えられる
SassでCSSをコンパイルする際、オプションを幾つか設定できる。オプションによって、可読率と圧縮率(実行速度)がトレードオフになるので、コーディング/デバッグ時と実行時で使い分ける必要があるだろう。変換の仕方を変える4つの各オプションは以下の通り、変換されたCSSを見比べてほしい。
:nestedを使った場合
#main { color: #fff; background-color: #000; } #main p { width: 10em; } .content{ font-size: 10em; font-weight: bold; text-decoration: underline; }
:expandedを使った場合
#main { color: #fff; background-color: #000; } #main p { width: 10em; } .content{ font-size: 10em; font-weight: bold; text-decoration: underline; }
:compactを使った場合
#main { color: #fff; background-color: #000; } #main p { width: 10em; } .huge { font-size: 10em; font-weight: bold; text-decoration: underline; }
:compressedを使った場合
#main{color:#fff;background-color:#000}#main p{width:10em}.huge{font-size:10em;font-weight:bold;text-decoration:underline}
ファイルサイズを極限まで削減したい場合は、「:compressed」を利用したい。
次回は、環境構築してSassを使いこなして爆捗!
本稿で紹介し切れていないSassの機能もまだまだ存在する。しかし、ここで紹介した機能だけでも相当強力であることが分かるはずだ。さらなるSassの機能については、公式リファレンスを参考にしてほしい。
次回はSassの環境構築とDreamweaverでSassを利用する方法について紹介する。
サンプルのダウンロード
本稿で紹介したscssファイルと変換したcssファイルを、GitHubに置いておいたので、どのように展開されているかを確認してみてほしい。本連載で作成したサンプルのコードやファイルは全てGitHubからダウンロードできる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 無料でCreative Cloudを使い倒せ(1):レスポンシブWebデザインから実機検証までサクッと
無料で使える範囲でCreative Cloudを使い倒そう。レスポンシブWebサイトの作成から実機検証までサクッとやる方法を紹介する - 無料でCreative Cloudを使い倒せ(16):予備知識なしでCSS3アニメーションが捗る「CSSトランジション」機能なら、ここまでできる!
誰でもCSS3アニメーションが作れるDreamweaverの「CSSトランジション」機能について、概要や基本機能、使いどころなどを解説する。 - 無料でCreative Cloudを使い倒せ(17):Web屋が知らないと残念過ぎるDreamweaver拡張機能のインストールと変換、管理
Dreamweaverの拡張機能の使い方や管理の仕方、便利な拡張機能、旧式のファイルからの変換方法、そしてAdobe Exchange/Extension Managerを紹介する。 - HTML制作が3倍速くなるDreamweaverの裏技
CSS Niteでおなじみの鷹野さんが、新人Web担当者向けに知って得するDreamweaver裏技を教えます。 - WebデザイナのためのHTMLチューニング入門(3):CSS Spriteなどブラウザとサーバの通信を減らすテク
HTTPにおけるリクエストの数を意識してますか? デザイナとでも、CSSの使い方によって数を減らすことができます