【发布时间】:2020-02-04 19:38:30
【问题描述】:
有没有办法将选择器直接添加到 scss 中的当前选择器。考虑以下几点:
.object-fit {
object-fit: cover;
height: 100%;
width: 100%;
overflow: hidden;
}
有没有办法在img 前面加上img.object-fit?
我见过的唯一方法是添加&,如下所示:
.object-fit {
img & {
}
}
但这会将它变成一个父子选择器:img .object-fit
通常的方法是在第二个选择器后面加上&img,但是因为它在选择器之前没有点,所以最终得到一个不同的类名:.object-fitimg
所以基本上问题是在对象适配类中是否有前置裸元素选择器?
【问题讨论】:
-
你试过
img&吗? -
@Blazemonger 这是 SCSS 解析器中的语法错误。
Invalid CSS after "img": expected "{", was "&" "&" may only be used at the beginning of a compound selector. -
类似
@at-root img#{&}? -
@ReSedano 将其作为答案,它有效。干得好!
-
@ReSedano 非常感谢,添加答案,我会在允许时接受