私は次のコードを持っています:
li {
a {
/* style removed for brevity */
&:hover {
color:#4f9269;
@include background-image(linear-gradient(top, #fff, #f0f6f2));
}
}
&.active a {
color:#4f9269;
@include background-image(linear-gradient(top, #fff, #f0f6f2));
}
}
メニュー項目がアクティブな場合、アクティブなクラスがliに適用されるため、このようにCSSを適用する必要がありました。
私はまた、ミックスインを書くことを考えました:
@mixin activestate() {
color:#4f9269;
@include background-image(linear-gradient(top, #fff, #f0f6f2));
}
そしてこれを行う:
li {
a {
/* style removed for brevity */
&:hover {
activestate();
}
}
&.active a {
activestate();
}
}
通常、CSSでは次のように記述します
li a:hover, li.active a {
/* active styles here */
}
SASSで同様の出力を達成する方法があるかどうか疑問に思いましたか?