Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 通过SASS中的给定类将元素选择器指定为组合选择器_Css_Sass_Css Selectors - Fatal编程技术网

Css 通过SASS中的给定类将元素选择器指定为组合选择器

Css 通过SASS中的给定类将元素选择器指定为组合选择器,css,sass,css-selectors,Css,Sass,Css Selectors,我有以下情况: .description { // styles } 我想在使用之前指定一个元素选择器。结果将是: label.description { /* styles */ }; 在课堂上是否有可能做到这一点: .description { label& } 类似于&组合符,但将其放在类之前。谢谢可以将&放在以下位置,以便参考家长: 最后一行: body.firefox & { font-weight: normal; } 汇编为: body.firefo

我有以下情况:

.description {
  // styles
}
我想在使用之前指定一个元素选择器。结果将是:

label.description { /* styles */ };
在课堂上是否有可能做到这一点:

.description {
  label&
}

类似于
&
组合符,但将其放在类之前。谢谢

可以将
&
放在以下位置,以便参考家长:

最后一行:

body.firefox & { font-weight: normal; }
汇编为:

body.firefox a {font-weight: normal; }
您描述的语法(
标签&
)产生以下错误:

“label”:应为“,was”&”之后的CSS无效

“&”只能在复合选择器的开头使用

然而有两种选择,一种是创建另一条规则:

label {
  &.description {/*styles*/};
}
另一个与您想要的非常相似,使用并可以编写:

.description {
  @at-root label#{&} {/*styles*/}
}
这将产生:

label.description {
  /*styles*/
}

这是基于。

非常确定这是不可能的……但很想知道是否可能。一个非常不幸的限制,因为类型选择器只能出现在复合选择器的开头,因此与Sass的
&
冲突。原因
&
可能出现在
body.firefox&
examp>的末尾le是因为它出现在复杂选择器的末尾,但作为它自己的复合选择器,与
主体分离。firefox
复合选择器由后代组合器进行组合。@今后,请避免回答重复的问题(说真的,这个问题至少每隔一周问一次)。当此问题关闭时,您的答案是错误的。将答案从一个问题复制到另一个问题是不合适的。@cimmanon我只在有人提及时发现了另一个问题…我更新了我的答案并进行了链接。但是,如果您注意到,这不完全是同一个问题,尽管他们都使用了复合选择器(&F)后,这个问题是询问HTML标记选择器,而另一个是询问类选择器(尽管工作方式相同)。我还测试了他的语法并提供了文档链接。
label.description {
  /*styles*/
}