Sass 学習まとめ 2 @mixin

ミックスインの基本

予めスタイルの塊(セレクタ指定ではないためルールセットではない)を定義しておき、それを他の場所で呼び出して使えるようにする機能。「@mixin 定義名(≒関数名);」で定義する。また、引数を指定することで定義したミックスインの値の一部を変更して使うといった処理を書くことも可能。定義したミックスインを呼び出す際は「@include 定義名」と記述する。

その他の使い方

引数を使ったミックスイン
ミックスイン名の直後に()を書き、カッコ内に引数(変数)を書く。引数に初期値を定義することもできる。


引数を複数指定する
引数はカンマ区切りで複数指定することも可能


(カンマ)を使うプロパティには可変長引数を利用する

text-shadowやbox-shadowなどCSSプロパティによってはカンマを使うものがある。仮引数をカンマ付きで定義する場合「@mixin shadow($value...)」のように可変長引数(VariableArgument)を使用する


ミックスインのスコープを制限する
ミックスインもスコープを持つためルールセット内で書くとその中でしか利用できなくなる。


ミックスインにコンテントブロックを渡す@content
@contentは、ルールセットやスタイルなどのコンテントブロックをミックスインに渡す機能。


(カンマ)を使うプロパティには可変長引数を利用する

text-shadowやbox-shadowなどCSSプロパティによってはカンマを使うものがある。仮引数をカンマ付きで定義する場合「@mixin shadow($value...)」のように可変長引数(VariableArgument)を使用する


ミックスイン名で使える文字
  • @mixin shadow1 { ~ }
  • @mixin shadow-1 { ~ }
  • @mixin shadow_1 { ~ }
  • @mixin 影 { ~ }
  • @mixin shadow { ~ }
  • @mixin _shadow { ~ }
  • @mixin -shadow { ~ }


ミックスイン名で使えない文字
  • @mixin 01shadow { ~ }
  • @mixin shadow@2 { ~ }
  • @mixin --shadow { ~ }


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です