展会信息港展会大全

关于CSS样式冲突排序的一个小试验
来源:互联网   发布日期:2016-03-25 16:33:44   浏览:1984次  

导读:按照我们对CSS优先权的理解,最后定义的CSS样式将会覆盖在其之前定义的所有已经存在、或与之冲突的样式,比如下面这个例子:代码如下复制代码 p{color:...

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

代码如下

复制代码

p { color: red; background: yellow }

p { color: green }

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

代码如下

复制代码

p { color: red; background: yellow }

p { color: green }

[ 可先修改部分代码 再运行查看效果 ]

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

代码如下

复制代码

.red { color: red }

.green { color: green }

.blue { color: blue }

...

<p class="red green blue"></p>

<p class="green blue red"></p>

<p class="blue red green"></p>

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

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

好了,你已经思考定了,我们看运行的效果吧:

代码如下

复制代码

.red { color: red }

.green { color: green }

.blue { color: blue }

[ 可先修改部分代码 再运行查看效果 ]

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

赞助本站

人工智能实验室

相关热词: 开发 编程 android

相关内容
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港