CSS-子元素过滤选择器:first-child 与 :nth-child(n) 的特殊之处

语义:

1、:first-child 指的是选取父元素的第一个子元素

2、:nth-child(n) 指的是选取父元素下的第 n 个子元素,n 从1开始

来看一个实例,页面展示的样式如下:

 DOM结构如下:

<div class="selector">
      <img src="../../../assets/images/monitors/echart_jin.png"/>
      <div>11111</div>
      <div>22222</div>
      <span>4444</span>
      <span>5555</span>
</div>
  • 需求1:把【11111】字体颜色变为红色,我觉得应该是这样写
.selector{
    margin-left 50px

    >div:first-child(1){
      color red
    }
   
  }

结果没有发生任何的改变,这是因为:

1、 div:first-child(1) 指的并不是父元素下【第一个】【div节点】;

2、:first-child(1) 指的是第一个子元素节点,如果要加前缀,则前缀一定要和标签一致,如 上面把 img  写成  div 就不起作用;

3、正确的写法应该是这样

>:nth-child(2){
      color red
}

或者

>div:nth-child(2){
      color red
}

4、实际在开发过程中如果用到子元素过滤器,可以忽略前缀,直接用 :nth-child(n)  索引代替即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛佛ง

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值