2016-10-08 7 views
4

divの4つの高さがあります。固定高さdivで表示されるアセンダーのトップ(オーバーフロー隠し)

(隠れた)5行目のアセンダの上端が表示されています。

どうすればこの問題を防ぐことができますか?

私はdivを少し短くすることには消極的です。これは、異なるブラウザ/プラットフォームでディセンダの底を切り落とす可能性があるためです。

クロームAndroid上で53.0:Lubuntuの

Chrome 53.0 on Android

のFirefox 49.0:

Firefox 49.0 on Lubuntu

ソースコード:

div 
 
{ 
 
\t font-size: 22px; 
 

 
\t line-height: 1.2em; 
 
\t height: 5em; \t \t \t /* exactly (4 * line-height) */ 
 
\t overflow: hidden; 
 

 
\t width: 200px; 
 
\t background-color: #ccc; 
 
}
<div> 
 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
 
tempor incididunt ut labore et dolore magna aliqua. 
 
</div>

答えて

4

height 4.8em(すなわち1.2 * 4)

div 
 
{ 
 
\t font-size: 22px; 
 

 
\t line-height: 1.2em; 
 
\t height: 4.8em; \t \t \t /* exactly (4 * line-height) */ 
 
\t overflow: hidden; 
 

 
\t width: 200px; 
 
\t background-color: #ccc; 
 
}
<div> 
 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
 
tempor incididunt ut labore et dolore magna aliqua. 
 
</div>

+0

おかげである必要があります - 今、私は愚かな感じ!私はまだクロムに同じアーティファクトを実際に得るが、私は4.79がそれを治すかもしれないと思う。 –

+0

フォントによっても異なります。一部の文字の中には、実際にラインハイトを上回るアセンダがあります。 – Johannes

+0

この明白な間違いを修正したにもかかわらず、実際にはこれを引き起こすバグがあることに気付きました。私が見つけた回避策は、フォントサイズと線の高さに整数のピクセル値を使うことです。 –

1

さて、あなたはあなたの行の高さに応じて、可能な限り高さを調整しようとすることができます。

div 
 
{ 
 
\t font-size: 22px; 
 

 
\t line-height: 1.2em; 
 
\t height: 4.85em; \t \t \t /* exactly (4 * line-height) */ 
 
\t overflow: hidden; 
 

 
\t width: 200px; 
 
\t background-color: #ccc; 
 
}
<div> 
 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
 
tempor incididunt ut labore et dolore magna aliqua. 
 
</div>

1
div { 
    overflow-x: hidden; 
} 
関連する問題