css3后代选择器和子代选择器的区别及优先级

我不是女神ヾ 2024-04-17 05:59 165阅读 0赞

css3后代选择器和子代选择器的区别及优先级

  1. 子代选择器:>号

    .father>div{

    1. border: 2px solid blue;
    2. }`
  2. 后代选择器:空格

    .father div{

    1. border: 2px solid pink;
    2. }

子代选择器跟后代选择器的区别

html代码

  1. <body>
  2. <div class="father">
  3. <div>
  4. 儿子
  5. <div>
  6. 孙子
  7. </div>
  8. </div>
  9. </div>
  10. </body>

只用父类选择器的css代码

  1. .father{
  2. width: 200px;
  3. height: 200px;
  4. border: 2px solid red;
  5. }
  6. .father>div{
  7. border: 2px solid blue;
  8. margin: 20px 20px;
  9. }

只用父类选择器的浏览器显示效果:此时仅有子代被选择,后代的后代无边框没有被选择
20190825151615786.jpg
只使用后代选择器的css代码

  1. .father{
  2. width: 200px;
  3. height: 200px;
  4. border: 2px solid red;
  5. }
  6. .father div{
  7. border: 2px solid pink;
  8. margin: 20px 20px;
  9. }

仅使用后代选择器的情况:所有后代都被选择
在这里插入图片描述

两者优先级比较:若两个选择器同时存在
按代码先后顺序分为两种情况
第一种:

  1. .father div{
  2. border: 2px solid pink;
  3. margin: 20px 20px;
  4. }
  5. .father>div{
  6. border: 2px solid blue;
  7. margin: 20px 20px;
  8. }

在这里插入图片描述
第二种:

  1. .father>div{
  2. border: 2px solid blue;
  3. margin: 20px 20px;
  4. }
  5. .father div{
  6. border: 2px solid pink;
  7. margin: 20px 20px;
  8. }

201908251525443.jpg
按照代码顺序
第一种先选择所有后代,再选择子代
第二种先选择子代再选择所有后代
可以产生不同的结果可以得知两个选择器可以相互覆盖,所以优先级相同

发表评论

表情:
评论列表 (有 0 条评论,165人围观)

还没有评论,来说两句吧...

相关阅读

    相关 子代选择后代选择

    在CSS3中,我们会遇到这个一个问题,当层级过多的时候,我们想对其中的某些标签进行操作,有时候我们又想只对某一层级的标签进行操作,这个时候就涉及到字标签和后代标签的问题