根据:mozilla.org
css匹配的优先级如下:
- 通用选择器
- 类型选择器
- 类选择器
- 属性选择器
- 伪类
- ID 选择器
- 内联样式
CSS 代码:
body div#redDiv.myClass{
position:absolute;
top:10px;
left:10px;
width:10px;
height:10px;
background-color:red;
z-index:99999999999;
}
#blueDiv{
position:absolute;
top:15px;
left:15px;
width:10px;
height:10px;
background-color:blue;
}
HTML:
<div id="blueDiv" style="z-index:99999999999;"></div>
<div id="redDiv" class="myClass" style="z-index:99999999998;"></div>
所以给定 2 个 div,redDiv 和 blueDiv,其中:
- redDiv 的 CSS 定义使用 body id 和类选择器的组合,z-index 属性设置为“99999999999”,但有一个内联定义,应该将其 CSS 覆盖为“99999999998”
- blueDiv 将内联 css 设置为 "99999999999" 。
预期的行为应该是 redDiv 之上的 blueDiv 但相反的情况发生了,它几乎就像覆盖没有完成一样!但如果值较小,如“99”和“98”,blueDiv 高于 redDiv(http://jsfiddle.net/9U2fU/1/)。
谁能指出可能是什么问题?
我无法更改 redDiv 的原始 CSS,所以我需要通过添加内联样式定义来解决问题。