对CSS选择器优先级(权重)的认识

在一个css页面中会使用很多的CSS选择器,至于它们的优先级和权重,想必很多的码农都不是很清楚吧,下面本文通过测试为大家详细介绍下,看看究竟是怎么样的

为了说明css选择器优先级(权重),首先我们来看以下两个实例代码:

<style type="text/css"> 
div.ui_infor p {font-size: 16px;} 
.ui_infor p {font-size: 14px;} 
</style> 

 

<div class="ui_infor"> 
<p>test of css</p> 
</div> 

 

以上例子,最终的显示效果是 font-size: 16px,并不是后面的font-size: 14px; 
这种组合的选择器有快速方法判断: 
0,0,0,0 
第一位数值是代表写在标签上的样式,如 

<p style="font-size: 14px;"></p> 

第二位数值代表的是id选择器,如 #demo {} 
第三位数值是代表: 类名( .demo {} )或 伪类(:hover)或 属性选择器[rel=”xx”] 
第四位数值是代表:标签选择器 p {} 
现在用第一个例子来实践下: 

div.ui_infor p {font-size: 16px;} 

它的权重是:0,0,1,2 

.ui_infor p {font-size: 14px;} 

它的权重是:0,0,1,1 
结果:0,0,1,2 > 0,0,1,1,所以显示font-size: 16px; 
补充:! important权重是最高的,所以就不用判断了,但在IE-6浏览器中点BUG。 
例子: 

p {font-size: 18px !important;font-size: 12px;} 

在IE-6浏览器里面,是显示font-size: 12px,网上有些资料说IE-6不支持!important,其实是不对的。 
我们在看看例子: 

p {font-size: 18px !important;} 
p {font-size: 12px;} 

在IE-6中是显示font-size: 18px,这就说明了IE-6是支持!important,只是表现有点怪异,怪异的地方就是:写在同行的同名样式中 !important的属性被后面的覆盖, 
就如 p {font-size: 18px !important;font-size: 12px;} 这个例子,font-size: 12px覆盖了font-size: 18px !important。 
利用这个怪异,就可以在IE-6中,不使用CSS_hack,实现“min-height” 

p { min-height: 50px;height:auto !important;height:50px;} 
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

子绝父相 这个子绝父相太重要了,是我们学习定位的口诀,时时刻刻记住的。 这句话的意思是 子级是绝对定位的话, 父级要用相对定位。 首先, 我们说下, 绝对定位是将元素依据最近的已经定位绝对、固定或相对定位)的父元素(祖先)进行定位。 就是说, 子级
分页条是web开发中常用的前端组件之一,它能将数据分批次展示给用户。我们知道诸如Bootstrap这类框架都提供了非常漂亮的分页条组件,但是你的项目可能不用到Bootstrap,你想自己定制一个属于你自己项目的漂亮的分页条,那么请看本文。 本文给大家介绍用纯CSS
CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行。 一般的文字截断(适用于内联与块): .text-overflow { display:block;/*内联对象需加*/ width:31em; word-break:keep-all;/* 不换行 */ white-space:nowrap;/* 不换行 */ overflow:hidden;/*
css margin用于设置对象标签之间距离间隔,例如如果要使两个div标签之间有一定的间距,我们可以使用css margin属性来设置。本文章向码农介绍css margin外边距使用方法和实例,需要的朋友可以参考一下。
在网站开发中,css float是一个经常需要使用的css属性,改属性用于设置css块级元素的浮动方向(左右浮动)。本文章向码农介绍css float使用方法和实例应用,需要的码农可以参考一下。
css sprite直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或“CSS贴图定位”。本文章向码农们介绍css sprite使用方法和基本使用实例,需要的码农可以参考一下。