Css 将not选择器添加到样式会中断样式设置

Css 将not选择器添加到样式会中断样式设置,css,css-selectors,Css,Css Selectors,我正在尝试将某个悬停样式应用于除第一个元素之外的所有元素。出于某种奇怪的原因,:第一个孩子有效,但添加:not(第一个孩子)无效。为什么?全速前进 编辑: 显然,一个小的代码添加打破了这种风格,我没有添加到原来的小提琴,因为我认为这不重要,现在我意识到它是重要的。请注意,当附加标记位于a标记之间时,样式不起作用,例如: <div id="mySidenav" class="sidenav"> <div id="logoContainer"> <a hre

我正在尝试将某个
悬停
样式应用于除第一个元素之外的所有元素。出于某种奇怪的原因,
:第一个孩子
有效,但添加
:not(第一个孩子)
无效。为什么?全速前进

编辑:
显然,一个小的代码添加打破了这种风格,我没有添加到原来的小提琴,因为我认为这不重要,现在我意识到它是重要的。请注意,当附加标记位于
a
标记之间时,样式不起作用,例如:

<div id="mySidenav" class="sidenav">
  <div id="logoContainer">
    <a href="https://www.google.com/">
      <img src="assets/img/logo_white.png" alt="logo">
    </a>
  </div>
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Clients</a>
  <a href="#">Contact</a>
</div>
完全不起作用:

.sidenav a:not:(first-child):hover{
    color: red;
}

您的语法看起来有点错误。 尝试:


您的语法看起来有点错误。 尝试:

你可以试试

.sidenav a:not(:first-child):hover{
    color: red;
}
你可以试试

.sidenav a:not(:first-child):hover{
    color: red;
}

这利用了
:not
伪选择器和直接后代选择器的组合,仅将样式应用于
这利用了
:not
伪选择器和直接后代选择器的组合,仅将样式应用于
您可以使用直接子级
和下一个兄弟级
+
选择器的组合

.sidenav>a+a:悬停{
颜色:红色;
}

您可以使用直接子级
和下一个兄弟级
+
选择器的组合

.sidenav>a+a:悬停{
颜色:红色;
}



您的选择器中有一个拼写错误,not写为
:not()
@TylerH:当天的投票结果很接近?@BoltClock在我阅读关于纠正拼写错误的评论之前使用了不同的简历原因。@TylerH:很公平。来,让我帮忙。@undroid好的,这就是困惑所在。这实际上不是您的第一个
元素。一分钟。您的选择器中有一个输入错误,not写为
:not()
@TylerH:当天的投票结果不太接近?@BoltClock在我阅读关于纠正输入错误无效的评论之前使用了不同的简历理由。@TylerH:很公平。来,让我帮忙。@undroid好的,这就是困惑所在。这实际上不是您的第一个
元素。一分钟,只是错过了。我想我会是第一个来这里的人,差一点:)就错过了。我想我会是第一个出现在这里的。它很接近:)我更新了我的小提琴,但它仍然不能正常工作:请看这里:@undroid更新了我的答案,不给悬停上的“x”或徽标上色。这个-
.sidenav>a:not(.closebtn):hover
也可以工作,如果标记保持不变,那么它会更简单:)(不是说你的答案不正确)@哈里:哦,我知道你的建议中缺少了
。Thanks@undroid我认为这让你很困惑,因为虽然你的x是页面上出现的第一个元素,但它不是HTML代码中的第一个元素,所以你实际上是针对徽标而不是
我更新了我的小提琴,但它仍然不能正常工作:p请看这里:@undroid更新了我的答案,不给hover上的“x”或徽标上色。这个-
.sidenav>a:not(.closebtn):hover
也应该可以用,如果标记保持不变,那么会更简单:)(不是说你的答案不正确)@Harry哦,我发现我在你的建议中遗漏了
。Thanks@undroid我认为这让您感到困惑,因为虽然您的x是页面上出现的第一个元素,但它不是HTML代码中的第一个元素,因此您实际上是针对徽标,而不是
.sidenav a:not(:first-child):hover{
    color: red;
}