Css 第一个父级的较少父级选择器

Css 第一个父级的较少父级选择器,css,css-selectors,less,Css,Css Selectors,Less,从有关的文档中,我们可以看到以下示例: .header { .menu { border-radius: 5px; .no-borderradius & { background-image: url('images/button-background.png'); } } } 结果将是 .no-borderradius .header .menu {} 如何使用父选择器和获取选择器标题.菜单。无边框半径而不复制代码: ul { l

从有关的文档中,我们可以看到以下示例:

.header {
  .menu {
    border-radius: 5px;
    .no-borderradius & {
      background-image: url('images/button-background.png');
    }
  }
}
结果将是

.no-borderradius .header .menu {}
如何使用父选择器
获取选择器
标题.菜单。无边框半径
而不复制代码:

ul {
    li {
        a {
            .active &,
            &:hover {
                 color: red;
            }
        }
    }
}
将提供CSS

.active ul li a {color: red;}
但要求的结果是

ul li.active a {color: red;}

您将
&
(父选择器)放置在错误的位置。它不应该放在选择器之后,而应该放在
之前。在选择器后面设置
&
意味着整个父选择器(从最上面的选择器)将附加在当前选择器的末尾,而不是在前面插入(这是
.header.menu.所需的内容。无边框半径
ul li.active

.header{
.菜单{
边界半径:5px;
&.no borderradius{/*此处&等于.header.menu*/
背景图片:url('images/button background.png');
}
}
}
保险商实验室{
李{
&.active,/*此处和等于ul li*/
&:悬停{
颜色:红色;
}
}
}

关于问题的更新-目前不可能实现
ul li。使用以下结构作为父选择器的主动a
意味着整个选择器链直到当前级别,而不仅仅是直接父级。无法仅选择直接父级

ul {
  li {
    a {
      .active &,
      &:hover {
        color: red;
      }
    }
  }
}
目前唯一可行的方法是按如下方式编写:

ul {
  li {
    &.active a,
    a:hover {
      color: red;
    }
  }
}

父选择器有一个目标,但没有决定何时完成。

好,但如果结构是
ul li a
,我想为
li
添加选择器怎么办?你的意思是它像
ul{li{a}}
如果您想将say
.active
添加到
li
?如果是,则只需将
a
选择器更改为
&active a
。如果您试图添加类(或其他选择器)从
a
内到
li
,这是不可能的,因为父选择器
&
总是获取完整的父项。是的,您的答案不是我想要的,让我自己有点困惑。将更新question@Justinas:请查看我答案的更新。简言之,目前没有办法实现y您需要使用父选择器。您必须使用会变得非常混乱的变量。