【问题标题】:Select all anchors whose parents are not ul[class="nav navbar-nav"] li [duplicate]选择所有父节点不是 ul[class="nav navbar-nav"] li [重复] 的锚点
【发布时间】:2017-04-05 03:05:31
【问题描述】:

有人能告诉我下面的 CSS 选择器有什么问题吗?

:not(ul[class="nav navbar-nav"] li) > a  

我正在尝试选择所有anchor 元素,其parent is not ul[class="nav navbar-nav"] li Thx 在高级:)

我正在尝试为除以下锚点之外的所有锚点设置 CSS 属性:

<ul class="nav navbar-nav">
  <li class="active">
    <a href="#">Hi</a>
  </li>
  <li>
    <a href="#">Hello</a>
  </li>
  <li>
    <a href="#">Bye</a>
  </li>
</ul>

编辑:使用 jQuery 的正确选择器是 jQuery(':not(ul[class="nav navbar-nav"] li) &gt; a')

【问题讨论】:

  • “使用 jQuery 的正确选择器将是”完全相同的选择器,只是,你知道,使用 jQuery。
  • @Vucko:但这里的问题不在于 :not() 的多个参数。这是关于 :not() 的单个复杂选择器参数。

标签: css


【解决方案1】:

您最好先设计一般的样式,然后再覆盖特定的样式。这是否足够:

a {color: red}

ul.nav.navbar-nav > li > a  {
  color:blue;
}
<ul class="nav navbar-nav">
  <li class="active">
    <a href="#">Hi</a>
  </li>
  <li>
    <a href="#">Hello</a>
  </li>
  <li>
    <a href="#">Bye</a>
  </li>
</ul>
<a href="#">Default Link Style</a>

【讨论】:

  • 是的,真的没有什么好的选择。
  • 到目前为止,我做了类似于@nvioli 提案的事情,但我想知道如何完成帖子中提出的问题。无论如何谢谢:)
  • @user846226 in css 你不能通过父级选择,所以你需要选择“parent is not xxx”的元素是不可能的,除了not选择器的问题。
  • @nvioli,我不同意。你可以使用 ":not(ul) > a" 来选择父元素不是 ul 元素的锚。
猜你喜欢
  • 2012-12-13
  • 2016-01-03
  • 2018-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
相关资源
最近更新 更多