我知道我可以@扩展.foo:hover,但是是否有一种方法可以@扩展.foobar基/默认属性,而不需要扩展诸如:.foobar、:active等伪类的定义?
例如,,如何更改以下内容,使.foobar只扩展..foo的默认状态?
.foo {
& {
color:blue;
}
&:hover {
background-color: black;
}
}
.foobar {
@extend .foo;
&:hover {
//As is, I have to override. Any better way?
background-color: transparent;
}
}(如果Sass没有办法做到这一点,那么是否有更好的方法来实现同样的效果?)
发布于 2012-09-06 19:07:29
你必须重写你的选择器,这样你才能完全扩展你想要的部分:
%foo {
color:blue;
}
.foo {
@extend %foo;
&:hover {
background-color: black;
}
}
.foobar {
@extend %foo;
&:hover {
background-color: transparent;
}
}但是,根据如何扩展/重用.foo类,新的@content指令可能是更好的方法。
@mixin foo {
color: blue;
&:hover {
@content;
}
}
.foo {
@include foo {
background-color: black;
}
}
.foobar {
@include foo {
background-color: transparent;
}
}https://stackoverflow.com/questions/11963501
复制相似问题