为了账号安全,请及时绑定邮箱和手机立即绑定

对于span标签为什么子选择器和后代选择器效果一样呢

下面两个为什么效果会一样呢?按照子选择器和后代选择器的区别,子选择器应该只对第一层标签有效果吧?那第一个例子中的“”如“”是不是就不应该有颜色呢?

1

.first》span{color:red;}

<span>胆小<span>如</span>鼠</span>

2

.first span{color:red;}

<span>胆小<span>如</span>鼠</span>


正在回答

5 回答

你别用color作比较啊,换个明显的属性就能对比出区别了,帮你做个对比

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        .a>span{
           color:red;
           border: 1px solid red ;
        }
        .b span{
            color:red;
            border: 1px solid red ;
        }
        .c>span{
            color:red;
            border: 1px solid red ;
        }
        .d span{
            color:red;
            border: 1px solid red ;
        }
    </style>
</head>
<body>
<p class="a">
    <!--子元素-->
 <span>胆小<span>如</span><!--孙元素-->鼠</span>
</p>
<p class="b">
    <!--子元素-->
 <span>胆小<span>如</span><!--孙元素-->鼠</span>
</p>
<p class="c">
    <span>胆小</span><!--子元素-->如<span>鼠</span><!--子元素-->
</p>
<p class="d">
    <span>胆小</span><!--子元素-->如<span>鼠</span><!--子元素-->
</p>
</body>
</html>

https://img1.sycdn.imooc.com//5b43484a000143ba01060181.jpg

0 回复 有任何疑惑可以回复我~

第一个,子选择器中的直接后代即第一代后代<span>包含了另一个<span>

.first>span{color:red;}
<span>胆小<span>如</span>鼠</span>

你可以理解为<span>(胆小<span>如</span>鼠)</span>,所以颜色会改变

0 回复 有任何疑惑可以回复我~

继承了父级span的color属性,

0 回复 有任何疑惑可以回复我~

刚才那个回答错了,>作用于第一个后代没问题,但是你的两个span标签,第一个子代就是最外层的span标签,如包含在里面,所以如也有颜色。也就是说你得这两个span标签,第一代包含了第二代!所以第二代也变色了

1 回复 有任何疑惑可以回复我~
#1

慕移动5947621

刚看你说的挺有道理,但是后来一实验发现,是不对的,第一代包含了第二代,这不是一定的吗,不然怎么叫第二代呢,这个问题,我还是不懂
2018-03-13 回复 有任何疑惑可以回复我~

你添加第三个span标签试试看,也许会发现不同

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

对于span标签为什么子选择器和后代选择器效果一样呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信