このHTMLマークアップで:
<html>
<body>
<ul class="tag-list">
<li class="tag"><div class="tag-label">short tag</div><div class="tag-tail tag-count">1154353</div></li><!--no whitespaces between list items!!--><li class="tag"><div class="tag-label">A quite long long long long long tag</div><div class="tag-tail tag-active">5</div></li>
</ul>
</body>
そしてこのCSSルール:
.tag-list {
border:1px solid red;
}
.tag {
border:1px solid green;
display:inline-block;/*so that tags are lined up like words... */
margin-right: 0.5em;
margin-bottom: 0.5em;
white-space:nowrap; /* so that label & tail sub-divs are stuck all together */
height: 2em;
line-height: 2em; /* text is vertically centered */
}
.tag > div {
height: 100%;
display:inline-block; /*so that label&tail are lined up */
}
.tag-tail {
border:1px solid orange;
}
.tag-label {
border:1px solid blue;
overflow:hidden;
text-overflow:ellipsis;
max-width:10em; /* to generate a (text) overflow for the ellipsis*/
}
Chrome22.0.1229.94で期待どおりの結果が得られます
しかし、Firefox 15.0.1では、奇妙な結果が得られます(div.tag-tail
要素が下にシフトされます)!
このjsFiddleを使用して、FFとChromeの結果を比較できます。
overflow:hidden;
セレクター/ルールにプロパティを追加すると問題が解決することは知っています.tag-tail
が、FFにこれが必要な理由と、動作にこの違いがある理由を理解したいと思います。
ご回答ありがとうございます!