Css 是否可以在SASS中为某个元素类型的父元素设置样式?
我想这样做:Css 是否可以在SASS中为某个元素类型的父元素设置样式?,css,compass-sass,sass,Css,Compass Sass,Sass,我想这样做: .classname { color: red a& { color: blue; } } 并将其编译为: .classname { color: red; } a.classname { color: blue; } 是否有可用的语法支持此操作?我试过使用a&,{a&}和指南针函数{append selector(“a”),“&”)}但它们不编译,a&编译,但显然结果是a.classname而不是a.classname这在SASS的
.classname {
color: red
a& {
color: blue;
}
}
并将其编译为:
.classname {
color: red;
}
a.classname {
color: blue;
}
是否有可用的语法支持此操作?我试过使用
a&
,{a&}
和指南针函数{append selector(“a”),“&”)}
但它们不编译,a&
编译,但显然结果是a.classname
而不是a.classname这在SASS的嵌套语法中是不可能的。从:
然后,内部规则仅适用于外部规则的选择器
嵌套规则是使CSS更容易编写的语法糖,因为它们是最常见的CSS构造之一。虽然使用您的方法来编写此类规则很好,但这不是语法设计(或定义)的目的。我尝试了各种选项,可以让您这样做,但我只能回答“为什么”?用例是什么,为什么您需要这样做,而不是做一些其他事情来达到与您想要做的相同的结果。我无法找到标签的解决方案,但在这种特定情况下,您可以使用&[href]
。它速度较慢,但实际上更精确(有些),但浏览器还不支持它事实上,“设计目的”和他试图做的唯一区别是他试图使用标记,而不是类、属性或伪选择器&.cool
,&[href]
,&:hover
所有工作,a&
或&a
不工作。@bfred.it什么?但这仍然是不可能的——这值得否决吗?是的,对不起。其中一半是不正确和不相关的信息。我很乐意去解除戒毒,如果是这样的话corrected@bfred.it但这并不是错误的。语法没有按照他试图使用的方式工作。你的反例是在原始选择器中添加修饰符,而他试图在修饰符前插入一个标记,从而向另一个方向移动,而SASS没有这样做。