问题摘录:我有一个适用于所有浏览器的菜单,但在 IE7 上存在问题。我解决了投掷问题,zoom:1
但通常hasLayout
相关的问题涉及浮动、位置和东西。为什么这次成功zoom
了?
我有一个适用于所有浏览器(甚至在 IE8+ 上)的菜单,如下所示:
由一个使用 .png BG 的 1px 边框和一个具有图标和文本的块LI
组成。DIV
A
恢复的 HTML 将是ul.adminMenu>li>(div.menuBorder)+(a{link})
:
<ul class="adminMenu">
<li>
<div class="menuBorder"></div>
<a href="">link</a>
</li>
(...other li's...)
</ul>
得到一个更暗的li.active
BG。
不幸的是,我有义务让它在 IE7 标准模式下工作(这解释了为什么我使用带有 .png 而不是 RGBA 边框的 div),它看起来像这样:
是的。li
在 start和 "border"之间有一个空格div
。我已经尝试了以下方法:
它们都没有工作,并且开发工具上没有任何内容指向边距或边框(全部为 0 和!important
)。
所以问题是:
没有浮动元素,没有绝对定位的东西,只有块。为什么zoom:1
(哪个触发器hasLayout
)让所有该死的空间消失?
JsFiddle(有一些额外的标记 div 但忽略它们,为了简单起见,我删除了更多内容)
我知道这是 IE 的“功能(错误)”的一部分,但我一直在寻找其他东西作为答案。