質問の抜粋: すべてのブラウザーで機能するメニューがありますが、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 標準モードで動作させる義務があります (これが、RGBA ボーダーの代わりに .png で div を使用する理由を説明しています)。これは次のようになります。
はい。li
startと "border"の間には任意のスペースがありdiv
ます。私はすでに次の方法を試しました:
それらのどれも機能しておらず、開発ツールにはマージンまたはボーダーを指すものは何もありません (すべて 0 で!important
)。
問題は次
のとおりです。浮動要素はなく、絶対配置のものもありません。ブロックだけです。なぜzoom:1
(どのトリガーがhasLayout
) すべての忌まわしいスペースをなくすのですか?
JsFiddle (余分なマークアップ div がいくつかありますが、それらは無視します。簡単にするために削除したものは他にもあります)
それがIEの「機能(バグ)」の一部であることは知っていますが、答えとして何か他のものを探していました。