LESS:定位父元素(如果存在)

use*_*041 4 css less

所以我有一个盒子:

<div class="box">Box</div>
Run Code Online (Sandbox Code Playgroud)

有时这个盒子可能会被包裹在 a 标签中:

<a href="#"><div class="box">Box in an A tag</div></a>
Run Code Online (Sandbox Code Playgroud)

LESS 中有没有一种方法可以专门针对作为 父级的 A 标签.box

例如

a {
   color: red;
}

a [that is a parent of .box] {
   color: blue;
}
Run Code Online (Sandbox Code Playgroud)

cha*_*olo 6

不,您不能使用 LESS 或 CSS 选择祖先元素,但 LESS 具有所谓的父选择器&

& 运算符表示嵌套规则的父选择器,在将修改类或伪类应用于现有选择器时最常用

color因此,在您的情况下,您可以使用具有父级的目标实例,而不是更改父级&的实例,例如.boxa

.box {
  color: red;

  a & {
    color: blue;
  }
}
Run Code Online (Sandbox Code Playgroud)

这可以翻译为:

.box {
  color: red;
}
a .box {
  color: blue;
}
Run Code Online (Sandbox Code Playgroud)