私はこの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
。
質問
私は何を間違えましたか、このクロスブラウザーの方法をどのように解決する必要がありますか。