LESSにおけるカンマ結合
ブロックの影を作成する関数があるとします:
.shadow(@s) {
box-shadow: @s;
}
この関数を2回呼び出して、ブロックに2つの影を追加したいとします:
p {
.shadow(1px 1px red);
.shadow(2px 2px blue);
}
しかし、これはうまくいきません。なぜなら、
2つの影の呼び出しは単に2つの
box-shadowプロパティを追加するだけだからです:
p {
box-shadow: 1px 1px red;
box-shadow: 2px 2px blue;
}
私たちが望んでいるのは、影が1つのプロパティ
box-shadowにカンマで区切って追加されることです。
次のように:
p {
box-shadow: 1px 1px red, 2px 2px blue;
}
私たちの関数が上述のように動作するためには、
プロパティの値を特別な演算子
+:の後に記述する必要があります。
次のように:
.shadow(@s) {
box-shadow+: @s;
}
text-shadowプロパティに対して
同様の関数を作成してください。
backgroundプロパティに対して
同様の関数を作成してください。