假如同个元素有两个或以上冲突的CSS规则,浏览器有一些基本的规则来决定处理CSS冲突。CSS冲突常见于一些大型且复杂的CSS文件,或有很多CSS文件组成的,可能产生冲突。
CSS冲突的基本规则是:
一,当两个样式发生冲突时浏览器一般按照与文本关系远近来显示。
二,当html与CSS样式有冲突时,浏览器按CSS样式中定义的属性来显示。
下面我们配合实例加以讲解。
CSS冲突实例一:选择器一样的情况下后面的会覆盖前面的属性。按照我们对CSS优先权的理解,最后定义的 CSS 样式将会覆盖在其之前定义的所有已经存在、或与之冲突的样式。
比如:
p { color: red; }
p { color: blue; }
p元素的元素将是蓝色,因为遵循后面的规则。
CSS冲突实例二:看下面代码,下面三个段落中的文字都将呈现何种颜色?
.red { color: red }
.green { color: green }
.blue { color: blue }
...
<p class="red green blue">www.ittribalwo.com</p>
<p class="green blue red">www. ittribalwo.com</p>
<p class="blue red green">www. ittribalwo.com</p>
答案是它们都显示为 blue ,也就是蓝色,尽管每个段落都以不同顺序应用了三个段落样式,看上去应该按照应用样式的顺序来决定颜色,比如,第一个显示为 blue ,第二个显示为 red ,第三个显示为 green ,其实这是错误的,这与应用样式的顺序无关,它们最终都服从最后指定的样式,颜色都为 blue。