首页 > Web开发 > 详细

CSS后代选择器可能的错误认识

时间:2016-03-29 19:12:28      阅读:267      评论:0      收藏:0      [点我收藏+]

一、关于类选择器的一个问题

    CSS代码:

.red { color: red; }
.green { color: green; }

HTML代码:
<div class="red"><div class="green"><p>1. 颜色是?</p></div></div>
<div class="green"><div class="red"><p>2. 颜色是?</p></div></div>
第一行和第二行文字颜色分别是 绿 红
原因:DOM越深的类名权重越高

二、类选择器→后代选择器

.red p { color: red; }
.green p { color: green; }
<div class="red"><div class="green"><p>1. 颜色是?</p></div></div>
<div class="green"><div class="red"><p>2. 颜色是?</p></div></div>
第一行和第二行文字颜色分别是  绿 绿
原因:祖先选择器对应DOM无论多深多浅都是同一级别的,而最终起作用的是选择器声明在CSS样式中的顺序,即优先显示后面的CSS声明

三、not选择器→后代选择器

:not(.green)  p { color: red; }
.green p { color: green; }
<div class="red"><div class="green"><p>1. 颜色是?</p></div></div>
<div class="green"><div class="red"><p>2. 颜色是?</p></div></div>
第一行和第二行文字颜色分别是  绿 绿
 

CSS后代选择器可能的错误认识

原文:http://www.cnblogs.com/shierfen/p/5333957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!