[转载]CSS的优先级

2013-05-02 23:00

[转载]CSS的优先级

by 晴方好玲

at 2013-05-02 15:00:08

original http://blog.sina.com.cn/s/blog_897db7b50101b4ed.html

原文地址:CSS的优先级作者:yychao
1、标有"!important"的规则拥有1级优先级
2、标有"style"属性的规则拥有2级优先级
3、附有"id"的规则拥有3级优先级
4、附有"class"的规则拥有4级优先级
5、标签名"如:p、div、h1"直接定义的规则拥有5级优先级
   
1)同一级别的规则,遵守"最近优先"的原则
2)作者定义的规则优先级高于浏览器默认的规则

如:!important > style > #id > .class > 标签选择符 > 通配符

网上有人用"吨"来形容CSS的优先权重,看下图:


基本原则:

一、标签#id > #id; 标签.class > .class;

id:
p#id-tit{
    font-size:18px;
}
#id-tit-one{
    font-size:12px;
}
<p id="id-tit">测试文字</p>
<p id="id-tit-one">测试文字</p>

class:
p.class-tit{
    color:red;
}
.class-tit-one{
    color:blue;
}
<p class="class-tit">测试文字</p>
<p class="class-tit-one">测试文字</p>

二、具体情况要多测试

#all{
    color:red;
}
.one .two .three{
    color:blue;
}
.three{
    color:green;
}
//文字是什么颜色?如果给第2段加上","号会如何?
.one, .two, .three{
    color:blue;
}
//这就需要具体情况具体测试,光靠猜往往会出乎你的意料。
<div id="all">
    <span class="one">
        <span class="two">
            <span class="three">
                测试文字
            </span>
        </span>
    </span>
</div>

    看了CSS的优先规则似乎很清晰,但看了上面的例子感觉又糊涂了,抓破了头皮也没用,WEB开发存在着很多隐含的问题,只有发现一个记录一个,多学习多测试,掌握规律就好。



 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密