[英]styling on element inside nested :visited declaration not being applied (vuejs, sass)
[英]Sass variables nested styling
我嘗試優化我的樣式,它確實重復了 styles
我有這樣的
.ds-input.ds--valid .ds-input__control:not(#specificity-issue),
.ds-select.ds--valid .ds-select__control:not(#specificity-issue) {
border-color: var(--my-color);
&:focus {
border-color: var(--my-border-color);
}
}
我試圖制作變量但嵌套變量給出了錯誤的結果
$dsSelectors: "ds-select, ds-input";
.#{$dsSelectors}.ds--valid.#{$dsSelectors}__control:not(#specificity-issue),
{
border-color: var(--my-color);
&:focus {
border-color: var(--my-border-color);
}
}
我們有任何簡單而簡短的語法來解決這個問題嗎
最后,預計 css 將如下所示
.ds-select.ds--valid .ds-select__control:not(#specificity-issue), .ds-input.ds--valid .ds-input__control:not(#specificity-issue) {
border-color: var(--my-border-color);
}
.ds-select.ds--valid .ds-select__control:not(#specificity-issue):focus, .ds-input.ds--valid .ds-input__control:not(#specificity-issue):focus {
border-color: var(--my-color);
}
@each
可以用於此目的。 更多信息和示例: https://sass-lang.com/documentation/at-rules/control/each
@each 規則可以很容易地發出 styles 或評估列表的每個元素或 map 中的每一對的代碼。 它非常適合重復的 styles,它們之間只有一些變化。 通常是這樣寫的
$classes: ds-select, ds-input;
@each $class in $classes {
.#{$class}.ds--valid .#{$class}__control:not(#specificity-issue)
{
border-color: var(--my-color);
&:focus {
border-color: var(--my-border-color);
}
}
}
我做了這個 function 但結果有點不同:
$classes: select, input;
@each $class in $classes {
.ds {
&#{-$class}&--valid &#{-$class} {
&__control {
&:not(#specificity-issue) {
border-color: var(--my-color);
&:focus {
border-color: var(--my-border-color);
}
}
}
}
}
}
結果:
.ds-select.ds--valid .ds-select__control:not(#specificity-issue) {
border-color: var(--my-color);
}
.ds-select.ds--valid .ds-select__control:not(#specificity-issue):focus {
border-color: var(--my-border-color);
}
.ds-input.ds--valid .ds-input__control:not(#specificity-issue) {
border-color: var(--my-color);
}
.ds-input.ds--valid .ds-input__control:not(#specificity-issue):focus {
border-color: var(--my-border-color);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.