在SASS中访问当前类的属性,如背景色
在SASS中工作时,我发现自己一直想引用当前类的属性。通常,这是一种使事情更加可重用或处理交互的方法。例如:在SASS中访问当前类的属性,如背景色,sass,Sass,在SASS中工作时,我发现自己一直想引用当前类的属性。通常,这是一种使事情更加可重用或处理交互的方法。例如: .circle background-color: $brandColor .circle:hover background-color: $brandColor + 50 .square background-color: $brandColor1 .square:hover background-color: $brandColor1 + 50 我更希望代码写得更干
.circle
background-color: $brandColor
.circle:hover
background-color: $brandColor + 50
.square
background-color: $brandColor1
.square:hover
background-color: $brandColor1 + 50
我更希望代码写得更干净利落,如下所示:
.circle
background-color: $brandColor
.square
background-color: $brandColor1
.circle:hover,
.square:hover
background-color: &background-color + 50
这在SASS中是可能的吗?不,在SASS中没有类似的东西。你需要用一个调味品来获得你想要的干燥度
@mixin colorize($color) {
background-color: $color;
&:hover {
background-color: $color + 50;
}
}
.circle {
@include colorize($brandColor1);
}
.square {
@include colorize($brandColor2);
}
对所述问题的良好解决方案。这在生产中出现的地方更为复杂。比如想对任何颜色重复使用这些关键帧定义:我仍然看不出有什么问题。你只需要一个混音和另一个颜色参数。哇,太漂亮了,你可以重复使用盒子阴影层声明,我没想到。仍然不能为不同的颜色重复使用相同的关键帧定义,但我认为这是css限制,而不是sass限制。