gpt4 book ai didi

css - Sass @extend base/default 不扩展伪类?

转载 作者:行者123 更新时间:2023-12-04 21:14:08 26 4
gpt4 key购买 nike

我知道我可以@extend .foo:hover,但是有没有办法@extend .foobar base/default 属性而不扩展伪类的定义,比如 :hover、: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 做到这一点,是否有更好的方法来达到同样的效果?)

最佳答案

你必须重写你的选择器,使你只扩展你想要的部分:

%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;
}
}

关于css - Sass @extend base/default 不扩展伪类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com