【发布时间】:2018-11-01 00:35:02
【问题描述】:
我不确定最好的表达方式,但通过示例。
我想要的输出是:
.parent-class2.parent .child {
color: red;
}
这是我正在使用的那种语法。
.parent {
.child {
.parent-class2.& {
color: red;
}
}
}
【问题讨论】:
标签: sass
我不确定最好的表达方式,但通过示例。
我想要的输出是:
.parent-class2.parent .child {
color: red;
}
这是我正在使用的那种语法。
.parent {
.child {
.parent-class2.& {
color: red;
}
}
}
【问题讨论】:
标签: sass
你的语法就差不多了。有两点需要注意:
1) SASS 不喜欢选择器中的冗余句点.(格式错误的选择器):
.parent-class2.&,.& 之前的句点是多余的,因为& = .parent .child
.& 之前的额外句点将错误地编译为
..parent .child
2) 要在没有任何空格的选择器中间使用 & 符号,您必须用字符串插值 & → #{&} 包装它,以便 SASS 对其进行评估。
这是固定版本:
.parent {
.child {
.parent-class2#{&} {
color: red;
}
}
}
【讨论】:
您可以使用&#{&}选择器(“&”是父级,所以我们选择“父级的父级”)。
如https://css-tricks.com/the-sass-ampersand/#article-header-id-11中所述
插值括号#{ } 是必需的,因为两个接触的 & 号是无效的 Sass。
您还可以查看@at-root 选择器,这可能对您的情况有用。
【讨论】: