删除嵌套 class 中的部分重复 SASS 代码
Remove portion of duplicated SASS code in nesting class
我想用普通 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);
}
}
我的问题:
如您所见,&:not(.error--text)
在 SASS 中重复了两次,我想知道是否有简化它的技巧?
您可以像父级别一样使用 &:not(.error--text)
并在嵌套选择器 (&, fieldset
) 中使用它来省略重复代码:
.reduit__search-input {
border-width:2px ;
border-style: solid;
border-radius: 0% !important;
&:not(.error--text) {
&, fieldset {
border-color: var(--v-primary-base);
}
}
}
输出:
.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 Placeholder approach,如果使用占位符选择器扩展,border-primary-base
将不会在CSS输出中呈现:
%border-primary-base {
border-color: var(--v-primary-base);
}
.reduit__search-input {
border-width:2px ;
border-style: solid;
border-radius: 0% !important;
&:not(.error--text) {
@extend %border-primary-base;
fieldset {
@extend %border-primary-base;
}
}
}
输出:
.reduit__search-input:not(.error--text), .reduit__search-input:not(.error--text) fieldset {
border-color: var(--v-primary-base); }
.reduit__search-input {
border-width: 2px;
border-style: solid;
border-radius: 0% !important; }
我想用普通 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);
}
}
我的问题:
如您所见,&:not(.error--text)
在 SASS 中重复了两次,我想知道是否有简化它的技巧?
您可以像父级别一样使用 &:not(.error--text)
并在嵌套选择器 (&, fieldset
) 中使用它来省略重复代码:
.reduit__search-input {
border-width:2px ;
border-style: solid;
border-radius: 0% !important;
&:not(.error--text) {
&, fieldset {
border-color: var(--v-primary-base);
}
}
}
输出:
.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 Placeholder approach,如果使用占位符选择器扩展,border-primary-base
将不会在CSS输出中呈现:
%border-primary-base {
border-color: var(--v-primary-base);
}
.reduit__search-input {
border-width:2px ;
border-style: solid;
border-radius: 0% !important;
&:not(.error--text) {
@extend %border-primary-base;
fieldset {
@extend %border-primary-base;
}
}
}
输出:
.reduit__search-input:not(.error--text), .reduit__search-input:not(.error--text) fieldset {
border-color: var(--v-primary-base); }
.reduit__search-input {
border-width: 2px;
border-style: solid;
border-radius: 0% !important; }