Sassでテーマ用CSSを作成する

Sassでテーマ用CSSを作成する

どうもfujiharaです。この時期でも暑く感じるのは自分だけでしょうか?

本日はテーマ用CSSを作成する際に調べていたらSassの !defaultがすごく便利だったのでご紹介します。

Default Values

Default Values この値は Sassで変数を使用する際に値の最後に追記すると既に変数として宣言されている場合は、変数を上書きしません。

テーマ用設定

以下のようにファイル構成をします。


--src
  --_base
    _variables.scss
    ...
  --themes
    theme-a.scss
    theme-b.scss
  common.scss

ファイル

_variables.scss


$mainColor: green !default;
$heading1Color: orange !default;
...

common.scss


import "_base/variables";

body {
  color: $mainColor;
}
h1 {
  color: $heading1Color;
}
...

theme-a.scss


$mainColor: red;
$heading1Color: pink;
...

/* 最終行 */
@import '../common';

説明

_variables.scss は変数用のファイルになっています。テーマごとに変えたい変数を定義します。
common.scss は基本的なスタイル設定になります。ここでレイアウト等設定してもらいます。(テーマごとに変えたい値は _variablesで定義されたものを使います。
最後にtheme-a.scss ですが、ファイルの先頭で_variables.scss 内で使用されている変数を初期設定するための 記述をします。その後 common.scss を読む事で theme-a.scss と _variables.scss で定義されている変数名が 同じものは thema-a.scss のものが有効になります。

まとめ

いかがでしたでしょうか?全ての変数名を指定する必要がなく、設定されていない場合は 宣言が有効になるって良いと思いませんか?みなさんも良かったらお試しください。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ