关于序号选择器的问题

来源:2-6 class选择器

一坨羊毛

2021-04-26 14:17:27

​问题描述:

在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://img.mukewang.com/climg/608659b50958ad6f03320190.jpg


写回答

1回答

好帮手慕慕子

2021-04-26

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

http://img.mukewang.com/climg/60865e2d09b9ebad08180599.jpg

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

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

http://img.mukewang.com/climg/60865ed8090824e805340280.jpg

祝学习愉快~

0

0 学习 · 15276 问题

查看课程