当尝试使用嵌入式样式更改外部样式表上的“ top”属性时,更改“ bottom” CSS属性优先。
怎么来?
div {
position: relative;
top: 10px;
}
body {
font-family:arial;
font-size: 20px;
}
<div style="position:relative; bottom:-100px">
test
</div>
答案 0 :(得分:3)
虽然内联样式确实比外部样式具有更高的特异性,但这里的区别在于top
和bottom
是不同属性。如果它们是相同的属性,则 CSS specificity 将起作用,并且内联样式将覆盖外部样式。
但是,由于top
和bottom
是不同的属性,因此浏览器希望同时两者应用它们。考虑到它们对版面有直接相反的影响,因此只能应用其中的 1 。优先级为top
,bottom
被忽略。
对于{strong> ,如果bottom
属性比top
属性具有更高的特异性,这是真的!
这已在 the top
MDN 中阐明:
同时指定
top
和bottom
时,未指定和height
或auto
或100%
,遵守top
和bottom
的距离。在所有其他情况下,如果以任何方式约束height
,则top
属性优先,而bottom
属性将被忽略。
您的情况属于上述“ 所有其他情况”。
答案 1 :(得分:0)
将 top:auto!important; 添加到您的内联中将解决此问题。
<div style="position:relative; bottom:-100px;top:auto !important;">
test
</div>