关于序号选择器的问题

关于序号选择器的问题

​问题描述:

在3-24 【学习任务】请完成“隔行换色”效果中,为什么下面代码的div的奇数行不是红色,偶数行不是绿色?

相关代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div:nth-child(odd){
          color:red;
        }
        div:nth-child(even){
          color:green;
        }
    </style>
</head>
<body>
  <p>
      <div>我是红色的</div>
      <div>我是绿色的</div>
      <div>我是红色的</div>
      <div>我是绿色的</div>
      <div>我是红色的</div>
      <div>我是绿色的</div>
  </p>
</body>
</html>

相关截图:

http://img1.sycdn.imooc.com//climg/608659b50958ad6f03320190.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,因为使用p包裹div时,浏览器会将p解析为单独的空标签,并不会包裹所有的div元素,如下图所示:

http://img1.sycdn.imooc.com//climg/60865e2d09b9ebad08180599.jpg

由于前面有空元素p,导致第一个div属于奇数项的,所以文字颜色为绿色。

建议修改:去掉包裹所有的div的p标签就可以了。

http://img1.sycdn.imooc.com//climg/60865ed8090824e805340280.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师