【发布时间】:2015-07-22 01:27:55
【问题描述】:
我想知道如果某些样式对于一个元素是相同的并且可能是伪类,我该如何避免编写两次:
.element {
color: #a0c225;
&:hover {
color: #a0c225;
}
&:focus {
color: #a0c225;
}
}
我不想在SASS 中重复#a0c225 的颜色?
【问题讨论】:
我想知道如果某些样式对于一个元素是相同的并且可能是伪类,我该如何避免编写两次:
.element {
color: #a0c225;
&:hover {
color: #a0c225;
}
&:focus {
color: #a0c225;
}
}
我不想在SASS 中重复#a0c225 的颜色?
【问题讨论】:
我会使用这样的东西:
$col-example: #a0c225;
%class-example {
color: $col-example
}
.element {
@extend %class-example;
/* more properties */
&:hover {
@extend %class-example;
/* more properties */
}
&:focus {
@extend %class-example;
/* more properties */
}
}
将编译为:
.element, .element:hover, .element:focus {
color: #a0c225;
}
.element {
/* more properties */
&:hover {
/* more properties */
}
&:focus {
/* more properties */
}
}
【讨论】:
& 的方法有效。我不一定需要存储变量。
你可以使用& 来做这样的事情:
.element {
&, &:hover, &:focus {
color: #a0c225;
}
}
编译成:
.element, .element:hover, .element:focus {
color: #a0c225;
}
【讨论】:
& 符号不是 CSS,它是连接选择器的 SASS/LESS 方式,所以这是一个有效的答案最适合我的需要!