这个问题真的很简单。这是我的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 中没有“显示”部分)。
无法正确渲染的原因有两个:
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;
}
另请参阅我的小提琴的新版本,或仅在 IE8 中打开显示框架。