CSS中权重的例子
2008-10-07 19:28:38 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨绘い鎺嬪灪閵囧嫰骞囬姣挎捇鏌熸笟鍨妞ゎ偅绮撳畷鍗炍旈埀顒勭嵁婵犲嫮纾介柛灞捐壘閳ь剛鎳撻~婵嬪Ω閳轰胶鐤呯紓浣割儐椤戞瑩宕ョ€n喗鐓曟い鎰靛亝缁舵氨绱撻崘鈺傜婵﹤顭峰畷鎺戔枎閹搭厽袦婵犵數濮崑鎾绘⒑椤掆偓缁夌敻骞嗛悙鍝勭婵烇綆鍓欐俊鑲╃磼閹邦収娈滈柡灞糕偓鎰佸悑閹肩补鈧尙鏁栧┑鐐村灦閹稿摜绮旈悽绋课﹂柛鏇ㄥ灠閸愨偓濡炪倖鍔﹀鈧繛宀婁邯濮婅櫣绱掑Ο璇茶敿闂佺ǹ娴烽弫璇差嚕婵犳碍鏅插璺猴工瀹撳棝姊虹紒妯哄缂佷焦鎸冲畷鎴﹀箻鐠囧弶宓嶅銈嗘尰缁嬫垶绂嶉悙顒佸弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�

CSS2.1中使用一个4位的数字来表示权重,以下是有关权重的一些规定:
类型选择符的权重为:0001
类选择符的权重为:0010
通用选择符的权重为:0000
子选择符的权重为:0000
属性选择符的权重为:0010
伪类选择符的权重为:0010
伪元素选择符的权重为:0010
包含选择符的权重为:包含的选择符权重值之和
内联样式的权重为:1000
继承的样式的权重为:0000
<!--例子1-->
<html>
<head>
<title>样式冲突</title>
<style type="text/css">
<!--
p{color:red} /*权重为:0001*/
p[align]{color:blue} /*权重为:0010*/
.vip{color:green} /*权重为:0010*/
#myid{color:purple} /*权重为:0100*/
-->
</style>
</head>
<body>
p{color:red} 权重为:0001<br/>
p[align]{color:blue} 权重为:0010<br/>
.vip{color:green} 权重为:0010<br/>
#myid{color:purple} 权重为:0100<br/>
<p>p{color:red}</p>
<p class="vip" id="myid">#myid{color:purple}</p>
<p align="left" class="vip" >.vip{color:green}</p>
类和属性两者权重相同,但为什么会应用类样式而不是属性样式,
</body>
</html>
<!--例子-2-->
<!--权重可以累加-->
<html>
<head>
<style type="text/css">
<!--
p{color:red}
body p{color:green}
-->
</style>
</head>
<body>
<p>body p{color:green}</p>
为什么会应用body p{color:green}样式,而不是p{color:red}样式呢?
因为body p{color:green}==body权重 + p权重 ==2 > p{color:red}==1
</body>
</html>
<!--例子-3-->
<!--内联样式的权重为1000,大于内部样式和外部样式的权重,因此当样式冲突时,只会显示内联样式-->
<html>
<head>
<style type="text/css">
<!--
p{color:red}
-->
</style>
</head>
<body>
<p style="color:green">It's green</p>
</body>
</html>
<!--例子-4-->
<!--!mportant-->
<html>
<head>
<style type="text/css">
<!--
body{font-size:20pt; color:blue;}
div{text-decoration:underline !important; font-size=:10pt; color:red !important;}
.vip{text-decoration:overline; font-size:30pt; color:green}
#other{color:black}
p{color:yellow}
-->
</style>
</head>
<body>
body中的文字
<div class="vip">
class="vip",div中的文字
<p>p中的文字,p位于div中</p>
</div>
<div id="other">
id="other",另一个div中的文字
</div>
<br/>虽然类型选择器div的权重要比类选择器.vip和.other要小,但如果在div的样式之后加上!important,
则表示在div标签文本(不包括div标签中的标签,因为它们具有可继承性),该样式具有最高权重。
</body>
</html>
更多精彩
赞助商链接