最近、sassにもだいぶ慣れてきました。
コード管理をスマートにしてくれるsassですが、コードが大量になると流石に煩雑になりがちです。
そこで、大量のソースを複数ファイルに分割してインポートしてみます。
例えばsassの変数をまとめたファイル「_values.scss」を用意します。
ファイル名の先頭にアンダースコアを入れたものをパーシャルファイルといいます。
パーシャルファイルはsassコマンドを実行してもコンパイルされず、「values.css」は生成されません。importされる専用の外部ファイルとして扱われます。
$color-link: #2266bb; $font-size-l: 2.0rem;
その他に、reset.cssの内容をまとめたファイル「_reset.scss」。
a{
color: $color-link;
}
モジュールをまとめたファイル「_modules.scss」などを用意します。
.module01{
font-size: $font-size-l;
}
次に「style.scss」でこれらパーシャルファイルをインポートします。
importでパーシャルファイルのファイル名のアンダースコアと拡張子を省略して指定します。つまり「_values.scss」をインポートする場合は「@import “values”;」と書きます。
ここで、普段CSSで利用している「@import」とは意味が異なることに注意しましょう。
@charset "utf-8";
@import "values";
@import "reset";
@import "modules";
.leftbox{
float: left;
}
これで準備は整いました。
「style.scss」をコンパイルして生成した「style.css」の中味は以下の通りです。
@charset "utf-8";
a{
color: #2266bb;
}
.module01{
font-size: 2.0rem;
}
.leftbox{
float: left;
}
ちなみに、パーシャルファイルはフォルダ毎に管理して、階層指定でインポートすることもできます。
@charset "utf-8";
@import "../common/values";
@import "../common/reset";
@import "../common/modules";
.leftbox{
float: left;
}
さらにimportするファイル内で、別ファイルをimportすることも可能です。
大量のCSSコードを要する大規模サイトでも、このようにimportを活用して整理できれば、コーディングのストレスも減らせそうですね。
コメントする