2016-10-08 3 views
4

Ich habe eine div genau vier Zeilenhöhen hoch.Ascenders Tops zeigen in fester Höhe div (Überlauf versteckt)

Die Oberseiten der Oberlängen der (verborgenen) fünften Zeile werden angezeigt.

Wie kann ich das verhindern?

Ich bin widerwillig, nur das div etwas kürzer zu machen, da dies die Unterseite der Unterlängen in verschiedenen Browser/Plattform abschneiden könnte.

Chrome 53.0 auf Android:

Chrome 53.0 on Android

Firefox 49,0 auf Lubuntu:

Firefox 49.0 on Lubuntu

Quellcode:

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>

Antwort

4

height hat 4.8em (das heißt 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

Dank sein - jetzt bin dumm fühlen! Ich habe immer noch das gleiche Artefakt auf Chrom, aber ich denke, dass es durch 4,79 behoben werden könnte. –

+0

Es hängt auch von der Schriftart: Einige Zeichen in einigen Schriftarten haben wirklich Oberlängen, die über die Zeilenhöhe gehen. – Johannes

+0

Trotz der Behebung dieses offensichtlichen Fehlers wurde mir klar, dass es tatsächlich einen Fehler gibt. Die Problemumgehung, die ich fand, ist die Verwendung von ganzzahligen Pixelwerten für Schriftgröße und Zeilenhöhe. –

1

Nun, können Sie versuchen, Höhe, so viel wie möglich, je nach Ihrer Zeilenhöhe einzustellen.

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; 
} 
Verwandte Themen