css – 如果选择器不是特定元素的子元素,那么如何定位选择器(因此只有当它是根时)

前端之家收集整理的这篇文章主要介绍了css – 如果选择器不是特定元素的子元素,那么如何定位选择器(因此只有当它是根时)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不明白为什么以下代码没有所需的行为:
.toggle {
      color: red;
    }
    
    :not(.list) .toggle {
      font-weight:bold;
    }
<div class="container">
      <a href="#!" class="toggle">Toggle</a>
      <ul class="list">
        <li><a href="#!">Link 1</a></li>
        <li>
          <div class="container">
            <a href="#!" class="toggle">SubToggle</a>
            <ul class="list">
              <li><a href="#!">SubLink 1</a></li>
              <li>
                <a href="#!">SubLink 2</a>
              </li>
              <li><a href="#!">SubLink 3</a></li>
            </ul>
          </div>
        </li>
        <li><a href="#!">Link 3</a></li>
      </ul>
    </div>

我认为使用:not()会导致仅将“粗体”应用于主“切换”链接,而是对所有红色应用“粗体”.为什么?

请注意,此代码嵌套了相同的类名,我不希望使用不同的css类来定位特定级别,我想仅使用后代选择器和其他运算符来定位元素

这里还有jsFiddle直接尝试.

解决方法

我想你可能想要这个:
.toggle {
  color: red;
  font-weight: bold;
}

div *:not(.list) .toggle {
  font-weight: normal;
}
原文链接:https://www.f2er.com/css/215694.html

猜你在找的CSS相关文章