对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;}

 最后补充点:继承的属性权重最低的!

原文地址:https://www.cnblogs.com/focuslgy/p/3151727.html