网页制作 
首页 > 网页制作 > 浏览文章

对CSS选择器权重的认识(亲测)

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )


复制代码代码如下:
<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;}

上一篇:CSS的部分常用属性整理
下一篇:图片动态加载技术应用及jquery.lazyload插件使用实例
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网