删除嵌套类重复的SASS代码的部分
我想通过普通CSS实现的目标:
.reduit__search-input {
border-width: 2px;
border-style: solid;
border-radius: 0% !important;
}
.reduit__search-input:not(.error--text), .reduit__search-input:not(.error--text) fieldset {
border-color: var(--v-primary-base);
}
我如何用sass写下:
.reduit__search-input {
border-width:2px ;
border-style: solid;
border-radius: 0% !important;
&:not(.error--text) , &:not(.error--text) fieldset {
border-color: var(--v-primary-base);
}
}
我的问题:
,您注意到&::::::::::不是(.Error-text)
在SASS中重复两次,我想知道是否有一个简化这一点的技巧?
What i want to achieve with normal CSS:
.reduit__search-input {
border-width: 2px;
border-style: solid;
border-radius: 0% !important;
}
.reduit__search-input:not(.error--text), .reduit__search-input:not(.error--text) fieldset {
border-color: var(--v-primary-base);
}
How i've written with SASS:
.reduit__search-input {
border-width:2px ;
border-style: solid;
border-radius: 0% !important;
&:not(.error--text) , &:not(.error--text) fieldset {
border-color: var(--v-primary-base);
}
}
My question :
As you noticed &:not(.error--text)
is repeated twice in SASS, I wonder if there is a trick to simplify this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
&:not(.error-text)
喜欢父级,然后在嵌套的选择器(& fieldSet
)中使用它,以忽略代码重复:输出:输出:
另一种方法,您可以下一步:
您可以尝试使用 nofollow noreferrer“ a>,如果使用占位持有人选择器扩展,
border-primary-base
不会在CSS输出中呈现:输出:输出:
You can use
&:not(.error--text)
like parent level and use it in nested selectors (&, fieldset
) to omit code duplicates:Output:
Another way, you can do next:
You can try to use SASS Placeholder approach, in case of using placeholder selector to extend,
border-primary-base
will not render in CSS output:Output: