快速业务通道

CSS中权重的例子

作者 佚名技术 来源 CSS编程 浏览 发布时间 2012-05-27

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>

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号