我正在使用此 HTML 进行 HTML5 导航:
<menu>
<li><a href="#">Test</a></li>
<li><a href="#" class=clip>Test</a></li>
<li><a href="#" class=clip>Test</a></li>
<li><a href="#" class=clip>Test</a></li>
</menu>
这可以在这个 JSFiddle 示例中看到。
所有LI
元素都显示为inline-block
。我还提供inline-block
了内部链接,因为我需要为它们提供特定line-height
的 .
对于上面的 HTML 示例,这是 LESS
menu {
margin: 0;
padding: 0;
list-style: none;
background-color: #eee;
li {
margin: 0;
padding: 0;
line-height: 50px;
display: inline-block;
a {
display: inline-block; // <--- CULPRIT
border: 1px solid #ccc;
&.clip {
width: 1em;
overflow: hidden;
}
}
}
}
问题
上面的代码在 Chrome 中显示得很好,但在 Firefox 和 Internet Explorer 中显示不正常(我正在使用 11)。FF 和 IE 都显示首先LI
向下移动。
如果我删除inline-block
链接,第一个孩子的班次消失,但链接不合适line-height
,我也不能设置链接的宽度,因为它们现在显示inline
。
问题
我做错了什么,我应该如何解决这种跨浏览器的方式。