Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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_Compass Sass_Sass - Fatal编程技术网

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没有这样做。