css怎么选择非第一个子元素?

<div class="header-logo-app">
  <a href="index.html" class="header-logo"></a>
  <a  href="#" class="header-icon header-icon-1"><i class="icon iconfont icon-bars"></i></a>
  <a href="#" class="header-icon header-icon-2"><i class="fa fas fa-user-headset"></i>撒大幅</a>
  <a href="#" class="header-icon header-icon-4"><i class="icon iconfont icon-kefu3"></i>客服</a>
</div>
.header-logo-app i:not(:first-child){
    color: #FFFFFF !important;
    height: 20px;
    width: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 35px;
}

我用这个,怎么不好使呢?

阅读 10.8k
5 个回答

这样用

.header-logo-app a:not(:first-child) i{
    color: #FFFFFF !important;
    height: 20px;
    width: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 35px;
}

应该绑定在a标签上

理解错了,i:first-child表示只要某个<i>是它父元素的第一个元素,就会被选择。你这里<i>的父元素是<a>,所有<i>都是<a>的第一个子元素,i:first-child选中了所有的i,所以i:not(:first-child)一个都没选中。
如果你所有<i>在同一个<a>(父元素)里,i:not(:first-child)就对了

为啥不换个思路?“非第一个”也就是第一个特殊,直接设置第一个不就行了?

绑定在a标上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题