出于某种原因,IE8 会计算18px
CSS 元素上的偏移量。
当我添加 a 时top: -18px
,left: -8px
它修复了 IE8 中的问题,但在其他所有浏览器中都会破坏它。
我尝试添加类似\9
and的 hack,\0/
但这些在 IE9 中不起作用。
添加\9
后top
和left
属性修复IE8。
但是,IE9 似乎没有识别 hack 并使用负值top
和left
值和布局中断。
我需要一种方法来解决这个问题,但它必须是我只能在 CSS 中做的事情。
这只是一个小菜单,在一个更大的 Java 项目中到处使用,我无法访问其余代码。仅适用于 CSS。
这是获取偏移量的 CSS 类:
#myMenuBar{
position: relative;
width:800px;
height:auto !important;
height:36px;
margin:0 auto;
z-index:3001;
text-align:left;
top: 0px;
left: 0px;
}
就像我说的,将 top 和 left 分别更改为 -18px 和 -8px 可以解决 ie8 中的问题,但会在其他任何地方破坏它,因为 ie8 是唯一计算此偏移量的浏览器。