Gedanken - line-height und Abstände
1. Vorwort
Dies ist das erste Mal, dass ich mich über etwas aufrege und mich darüber so richtig auskotze! Denn seit längerer Zeit beobachte ich bei CSS einen Trend, denn ich für völlig hirnrissig halte. Gut, es mag viele Leute geben, die davon begeistert sind, aber ich bekomme dabei regelmäßig die Krätze.
2. Die Unsitte
Um einen vertikalen Abstand für bestimmte Elemente zu definieren, greifen viele Entwickler auf line-height
zurück. Und für
den horizontalen Abstand nehmen sie dann padding-left
/padding-right
. Oder noch schlimmer, line-height
und padding
werden miteinander kombiniert. Leider hab ich schon das eine oder andere Mal erlebt, dass dieser Murks auch
in diversen Erweiterungen von JavaScript-Frameworks auftaucht.
"Mausschubser"
... machen sich leider Gottes sehr oft keine Gedanken über die Auswirkungen. Da wird fröhlich drauflos designed, frei nach dem Motto: "des passt scho". Und auf einmal sind die dann ganz erstaunt, wenn etwas nicht in ihr Konzept passt. Oder weil sie einfach nicht nachgedacht haben.
3. Ein Beispiel
Ne pisselige "Navigation"
OK, schön sieht das nicht aus. Hier geht es nur um grundsätzliche Dinge. Der vertikale Abstand wurde hier mit dem berüchtigten
line-height
gesetzt und sieht eigentlich noch ganz gut aus. Aber was ist, wenn ein Menülink auf einmal über zwei Zeilen
geht? Dann sieht das auf einmal ziemlich sch***e aus, da der Abstand der Zeilen einfach viel zu groß ist.
4. Noch ein Beispiel
Beim Arbeiten mit line-height
verschiebt sich der Text immer nach unten, wenn der Wert größer ist als bei font-size
.
Und da kann es schon mal Probleme mit der Positionierung geben. Aus Anschauungsgründen habe ich hier eine Überschrift 4. Ordnung in ein
<div>
mit grauem Hintergrund gepackt. Und nun sollte besagtes <h4>
direkt am oberen Rand stehen.
Tut es aber nicht wegen des line-height
.
Eine Überschrift 4. Ordnung
Bitte nicht lachen
... aber ich habe es schon etliche Male erlebt, dass in so einem Fall tatsächlich mit einem negativen padding-top
beim
<div>
oder mit einem negativen margin-top
beim <h4>
gearbeitet wurde, da ja unbedingt
mit line-height
gearbeitet werden musste.
5. Meine Meinung
Wenn man schon Abstände definieren will, so sollte man mit margin
oder padding
arbeiten. Denn die wurden dafür
extra geschaffen! Das line-height
nimmt man nur, wenn man die Zeilenhöhe in einem Fliesstext festlegen
möchte. Ansonsten lässt man tunlichst die Finger davon und missbraucht es nicht für andere Zwecke.
Erfahrungswerte
Auch wenn die beiden Beispiele hier ein wenig dünn sind, so müsst ihr mir einfach mal vertrauen. Ich habe schon bei diversen Projekten
erlebt, dass die Verwendung von line-height
bei der Definition von Abständen eigentlich immer zu Problemen führt. Und zu einem
ziemlich großen Aufwand, um den Mist zu korrigieren. Hinzu kommt noch, dass ein pixelgenaues Design in zig Browsern auf diversen
Betriebssystemen oft nicht möglich ist. Denn die verwendeten Schriften laufen trotz gleichen Namens immer ein klein wenig unterschiedlich
und dann passt hier was nicht oder da nicht.
6. Eure Meinung
... dazu interessiert mich natürlich auch. Wenn ihr zu diesem Thema Fragen, Anregungen oder Kritik habt, so schickt mir einfach eine Mail und ich werde den Inhalt hier veröffentlichen. Wer sich fragt, warum ich keinen Blog habe, dem sei gesagt, dass ich darauf im Moment noch keinen Bock auf blog habe. Vielleicht richte ich mir einen ein, wenn ich dazu Zeit und Muße habe.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt