css overflow hidden を使用すると前後の要素の位置がおかしくなる
表示領域を固定して「overflow:hidden + text-overflow:ellipsis;」を使用して、領域以上の文字は 「…」で表示するというのは、よく使うトリックである。 しかし、chrome以外では、inline-boxの要素にoverflow:hiddenを指定すると表示位置が微妙にずれる。 「Stack Overflow」にも同じような内容の投稿がある。 http://stackoverflow.com/questions/4310047/css-why-is-vertical-align-baseline-stop-working-on-firefox-when-using-overflow [overflow]未指定 firefox15(ずれない) chrome21(ずれない) [overflow:hidden]指定 firefox15(ずれる) chrome21(ずれない) firefoxだけがおかしいのではなく、IEでも同じように表示される。 ちなみに、inline-block要素にvertical-align:middleを指定すると、それなりに中央位置へ要素が配置されるが、前後の要素とは、ずれる。 位置のずれが少しであるため、よけいみっともない。 [overflow:hidden vertical-align:middle]指定 firefox15(ずれる) chrome21(ずれる) 本題 overflow:hiddenを使用する箇所が少ないのであれば、marginや、paddingの値を中央に配置するよう微調整すればよいが、大量にある場合はそれぞれを調整するのは困難である。 なので、overflow:hiddenを指定しないで、同じように表示する仕組みを考えてみた。 まずHTMLの定義。 <div class="inline-block test4" data-dummy="test test ..."> test test test