問題は非常に単純です。ここに私のCSSがあります:
.fixed-body {
position: absolute;
}
そして私のHTML:
<div class="fixed-body">
<ul class="breadcrumb">
<li class="active">Name with spaces<span class="divider">/</span></li>
<li><a href="#">Home</a><span class="divider">/</span></li>
<li><a href="#">Library</a></li>
</ul>
</div>
Internet Explorer 8 を除くすべてのブラウザーですべてが正常に表示されます。パンくずリストは次のようにレンダリングされます。
この jsfiddleで自分で確認できます。jsfiddle は IE8 で適切にレンダリングされないため、これは結果のフレームにすぎません。フィドル全体がこのアドレスにあります(URL に「表示」部分がない同じアドレスです)。
正しくレンダリングされない理由は 2 つあります。
position: absolute
のCSS ディレクティブ.fixed-body
- ブレッドクラムの最初のセクションのスペース
Name with spaces
最初のセクションにスペースが含まれていない場合、またはposition
親ノードの が に設定されていない場合absolute
、Internet Explorer 8 はブレッドクラムを適切にレンダリングします。
ブレッドクラムを別のものにラップしてdiv
リセットしよposition
うとしましたstatic
が、役に立ちません。そのように表示される Internet Explorer 8 の特定の制限はありますか? そして最も興味深いのは、この問題を修正または回避する方法はありますか?
編集(私の応答からコピー):
偶然に適切な修正が見つかりました。inline-block
ブレッドクラムでinline
forをオーバーライドするとli
、副次的な問題なしに目的の効果が得られます (AFAIK):
.breadcrumb > li {
display: inline;
}
my fiddleの新しいバージョンも参照するか、IE8 でショー フレームだけを開きます。