码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-03-29 19:14:57      阅读:181      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!