您现在的位置: PQ秀秀网 >> 网页设计 >> WEB标准 >> 正文 用户登录 新用户注册
关于CSS样式冲突排序的一个小试验
作者:佚名    教程来源:不详    点击数:加载中...    更新时间:2007-12-29 字体:[ ]
添加到收藏: 添加到百度收藏  收藏到QQ书签  添加到雅虎收藏  添加到新浪ViVi  添加到天极网摘  添加到和讯网摘

按照我们对CSS优先权的理解,最后定义的 CSS 样式将会覆盖在其之前定义的所有已经存在、或与之冲突的样式,比如下面这个例子: 中国站.长.站

以下为引用的内容:

Example Source Code: 站.长站

p { color: red; background: yellow }
p { color: green } pqshow

Www.pqshow.com

以上的段落最终将呈现绿色的字体,并带有黄色的背景,这是因为最后定义的 color:green 将之前定义的 red 覆盖掉了,至于黄色背景为何没有消失,那是因为第二个 p 的定义中并没有与之冲突的定义,因此它还是有效的。

pqshow

我们看运行效果: 中国站.长.站

以下为引用的内容:
 Source Code to Run:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>admin5</title><style type="text/css">p { color: red; background: yellow }p { color: green }</style></head><body><p>admin5</p></body></html> Www~pqshow~com
<p class="red green blue">www.admin5.com</p>
<p class="green blue red">admin5</p>
<p class="blue red green">www.admin5.com</p>
中国.站长站

或许你认为你已经理解了。你真的懂了吗?好,我们来做个小测试。 中国站长.站

以下为引用的内容:
 Example Source Code:
.red { color: red }
.green { color: green }
.blue { color: blue }
...
<p class="red green blue">admin5</p>
<p class="green blue red">站长的学习乐园</p>
<p class="blue red green">www.admin5.com</p>
pqshow

请问,最终显示的时候,上面三个段落中的文字都将呈现何种颜色呢? pqshow

请不要急着运行下面的代码,你思考思考,会是什么色彩? pqshow~com

好了,你已经思考定了,我们看运行的效果吧: 中.国.站长站

以下为引用的内容:

 Source Code to Run: 中国.站.长站

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>www.admin5.com</title><style type="text/css">.red { color: red }.green { color: green }.blue { color: blue }</style></head><body><p class="red green blue">admin5</p><p class="green blue red">站长学习乐园</p><p class="blue red green">www.admin5.com</p></body></html> 站.长.站

pqshow~com

答案是它们都显示为 blue ,也就是蓝色,尽管每个段落都以不同顺序应用了三个段落样式,看上去应该按照应用样式的顺序来决定颜色,比如,第一个显示为 blue ,第二个显示为 red ,第三个显示为 green ,其实这是错误的,这与应用样式的顺序无关,它们最终都听从最后指定的样式,颜色皆为 blue !以后遇到类似的问题请不要苦恼了,因为上面的试验已经给了你答案。 中.国.站.长.站

教程录入:andy    责任编辑:andy 
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)