gpt4 book ai didi

css - Sass – 连接到@at-root 选择器

转载 作者:行者123 更新时间:2023-11-28 00:06:40 26 4
gpt4 key购买 nike

我经常使用 @at-root(因为类是动态地从正文中添加和删除的),我想知道下面这样的事情是否可行?

header.main {
@at-root body[class*="contact"] #{&}, body.text-single #{&} {
background-color: white;
&.header-is--hidden {
background-color: red; // I know this won't work
}
}
}

不必写:

header.main {
@at-root body[class*="contact"] #{&}, body.text-single #{&} {
background-color: white;
}
@at-root body[class*="contact"].header-is--hidden #{&}, body.text-single.header-is--hidden #{&} {
background-color: red;
}
}

最佳答案

I wondered if something like the below is possible?

是的

您可以将 header.main 选择器保存在一个变量中并使用插值来渲染它——比如:

header.main {
$sel: &; // contains header.main

@at-root body[class*="contact"], body.text-single {
#{$sel} {
background-color: white;
}
&.header-is--hidden #{$sel} {
background-color: red;
}
}
}

CSS 输出

body[class*="contact"] header.main, 
body.text-single header.main {
background-color: white;
}
body[class*="contact"].header-is--hidden header.main,
body.text-single.header-is--hidden header.main {
background-color: red;
}

关于css - Sass – 连接到@at-root 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55673317/

26 4 0
文章推荐: javascript - 将 Rest API 连接到 Google Charts
文章推荐: html - 推特 Bootstrap : overflow of btn-group
文章推荐: javascript - 如何摆脱 Object # has no method 'push' 错误?