中国设计联盟
联网
Dreamweaver Flash Photoshop 其它周边 web标准 asp php .net CSS WAP网站攻略 专题
网站建设 域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计  虚拟主机 域名注册 acg王国 ACG玩家
求创科技
网站建设
中国福网
招聘求职
中国互联
艺魂宝库网
中资源
当前位置:网络学院首页 >> 设计教程 >> web标准 >> 样式表中的权重 css优先权

样式表中的权重 css优先权 (1)

来源:中国设计秀    作者:    点击:158     加入收藏

1、特殊性
首先来看一下这个例子将会发生的情形:

.grape { color:Blue; }
H1 { color: Red; }
<h1 class="grape">Meerkat <em>Central</em></h1>


H1和.grape都匹配上面的H1元素,那么到底应该使用哪一个呢?实践证明.grape是正确答案,把句子显示为蓝色。根据规范,一般的HTML元素选择符(H1,P 等)具有特殊性1,类选择符具有特殊性10,ID选择符具有特殊性100,值越大权重就越大,就优先选用。

 
H1 { color: Red; }                  /* 特殊性 = 1 */    
P EM { color: Blue; }               /* 特殊性 = 2  */
.grape { color: Fuchsia; }            /* 特殊性 = 1 0 */
P.bright { color: Yellow; }            /* 特殊性 = 11 */
P.bright EM.dark{ color: Gray; }       /* 特殊性 = 12 */
#ID01 { color: Red; }                /* 特殊性 = 100 */

2、继承
在特殊性的框架下,被继承的值具有特殊性0,也就是说任何显式声明的规则将会覆盖其继承样式,即便这条规则具有多高的权重。
 
H1#ID01 { color: Red; }           /* 特殊性 = 101 */
EM{ color: Gray; }             /* 特殊性 = 1 */
<H1 ID="ID01>Meerkat <EM><Central</EM></H1>

虽然ID选择符特殊性最高,但由于在特殊性的框架下,继承值只有特殊性0,因些Central会显示为Gray颜色。


3、STYLE元素
还有sytle元素在CSS下权值定义为100,尽管ID选择也一样,实际上style元素比ID具有更高的特殊性。

 
#ID01 EM{ color: Gray; }
<H1 ID="ID01">Meerkat <EM style="color: red;">Central</EM>!</H1>

会显示为red颜色。

4、重要性(!important)
!important具最高特特性比如说1000,因此!important规则会覆盖内联STYLE属性的内容。

 
H1{ color: red !important; }
<H1 style="color:black;">Meerkat Central!</H1>

将显示为RED颜色。

一种特殊情形

 
P#warn { color: Red !important; }
EM { color: Black; }
<p id="warn">This text is red, but <em>emphasized text is black.</em></p>


虽然定义!important最高特殊性,但句子并没有全部显示为RED红色,为什么呢?也许我们得回头看看前面的规则,在前面的第二点继承中提“在特殊性的框架下,继承值只有特殊性0。”因此即便定义!important,继承里的特殊性也只有0,所以显示为特殊性为1的EM规则。

0
顶一下
[1] [2]
2007-10-22 12:01:00    出处:
Google
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口