Vertikale Ausrichtung, Zeilenabstand

Inhalte dieser Sektion:
Inhalte dieser Seite

Gut formattierte Texte zeichen sich vor allem durch einen konsistenten, gleichmäßigen vertikalen Rhythmus aus. Das bedeutet, dass sämtliche Zeilenabstände und Absätze so gesetzt werden, dass der Abstand zwischen zwei Zeilen immer ein ganzzahliges Vielfaches des Grundabstands ist. Dementsprechend müssen nun sämtliche Angaben für line-height, margin und padding gesetzt werden.

Zeilenabstand

Der Zeilenabstand ist eine elementare typographische Größe und hat großen Einfluss auf die Lesbarkeit eines Textes. Ist der Zeilenabstand zu groß, fällt es dem Auge schwer, von einer Zeile in die nächste zu springen, ist er zu klein, fällt es schwer, sich auf nur eine Zeile zu konzentrieren. Als Standard-Richtwert für Printmedien gilt hier 1,2-fache der Schriftgröße, für die Darstellung auf dem Monitor darf jedoch ein größerer Zeilenabstand gewählt werden, damit sich das Auge auch beim Überfliegen eines Textes auf eine Zeile konzentrieren kann. Grundsätzlich gilt zudem, dass serifenloser Schriften ein größerer Zeilenabstand benötigen als Serifenschriften.

Aufgrund dieser Überlegungen wählen wir für unser Beispiel als Zeilenabstand für Absätze sowie Listen und Elemente für logische Textauszeichnung das 1,5-fache der Schriftgröße, also 21 Pixel. Um die Skalierbarkeit zu erhalten, geben wir diese Größe jedoch - wie bereits erwähnt - relativ zur Basis-Schriftgröße an:

p,ul,ol {
	line-height:1.5em;
}

An diesen Zeilenabstand müssen nun sämtliche anderen vertikalen Abstände angepasst werden, damit der vertikale Rhythmus intakt bleibt.

Absatzabstände

Ein Absatz soll den Text visuell in semantische Absätze aufteilen. Der Zeilenabstand sollte also größer als normal sein, jedoch auch nicht übermäßg groß; analoges gilt für Listen und Zitate. Hier stellt sich die Sache also recht einfach dar:

p,ul,ol,blockquote {
	margin-bottom:1.5em;
}

Überschriften

Bei Überschriften wird das ganze schon etwas komplexer: Wollen wir alle sechs Überschriften (h1 bis h6) schon allein durch ihre Schriftgröße erkennbar auszeichnen, brauchen wir bereits sechs weitere Schriftgrößen und dementsprechend angepasste Zeilenabstände.

In unserem Beispiel soll die Schriftgröße pro Überschrifts-Klasse um einen Pixel erhöht werden, wir wollen also Werte von 15 bis 20 Pixel vergeben. Da wir aber mit em arbeiten wollen, ergibt sich für h6 als Schriftgröße ein gerundeter Wert von 15px : 14px = 1,071em.
Da der Zeilenabstand jedoch identisch dem eines normalen Textabsatzes (21px) sein soll, müssen wir auch hier den Wert anpassen: 1,5em * (14px : 15px) = 1,4em. Analog ergibt sich für die anderen Überschriften:

h1 {
	font-size:1.428em;
	line-height:1.05em;
}
h2 {
	font-size:1.357em;
	line-height:1.105em;
}
h3 {
	font-size:1.286em;
	line-height:1.167em;
}
h4 {
	font-size:1.214em;
	line-height:1.235em;
}
h5 {
	font-size:1.143em;
	line-height:1.313em;
}
h6 {
	font-size:1.071em;
	line-height:1.4em;
}

Um die ersten drei Überschriften noch stärker vom Fließtext abzusetzen, empfiehlt es sich, hier zusätzlich den oberen und unteren Absatzabstand zu erhöhen. Um hier flexibler zu sein, erlauben wir diesen drei Schriftarten, den vertikalen Rhythmus leicht zu durchbrechen: Wir fordern nicht mehr, dass die Grundlinien in das Raster passen, sondern achten nur darauf, dass das Raster nach der Überschrift wieder eingehalten wird.
Um Konflikte zwischen konkurrierenden margin-Angaben zu vermeiden, wählen wir für diese Absatzangaben das padding-Attribut.

Der ersten Überschrift geben wir volle zwei Zeilen Platz, indem wir den oberen und unteren Absatzabstand auf 0.525em (10,5px) setzen:

h1 {
	padding-top:0.525em;
	padding-bottom:0.525em;
}

Die zweite Überschrift soll auch zwei Zeilen Platz bekommen, allerdings soll sie aus semantischen Gründen näher am unteren Rand stehen. Somit setzen wir den oberen Absatzabstand auf (2/3) * 1,105em = 0,737em (14px), den unteren auf (1/3) * 1,105em = 0,368em (7px):

h2 {
	padding-top:0.737em;
	padding-bottom:0.368em;
}

Analog verfahren wir mit der dritten Überschrift. Es ergibt sich für den oberen Absatzabstand (2/3) * 1,167em = 0,778em (14px), für den unteren (1/3) * 0,778em = 0,389em (7px):

h3 {
	padding-top:0.778em;
	padding-bottom:0.389em;
}

Logische Textauszeichnung

Bei den inline-Elementen code, dfn, kbd, samp und var ergibt sich das Problem, dass diese in Firefox und Opera das vertikale Raster sprengen, obwohl sie korrekte Größenangaben für Schriftgröße und Zeilenabstand bekommen. Dies liegt an der vertikalen Ausrichtung an der Mittellinie der aktuellen Zeile und kann behoben werden, indem man der vertikalen Ausrichtung einen anderen Wert als middle zuweist:

code,pre,dfn,samp,kbd,var {
	line-height:1.5em; font-size:1em;
	vertical-align:bottom;
}

Weitere Textauszeichnungen

Exemplarisch für weitere Textauszeichnungen möchte ich an dieser Stelle einen Text als Randnotiz auszeichnen, der in einer Float-Box vom übrigen Text abgesetzt werden soll, zudem soll diese Box eine kleinere Schriftgröße haben.

Im Beispiel-Quelltext sind bereits zwei Absätze mit der CSS-Klasse left bzw. right bezeichnet. Diese formatieren wir nun:

.left {
	float:left;
	margin:0.75em 1em 0.75em 0;
	padding:0 0.5em 0 0.5em;
}
.right {
	float:right;
	margin:0.75em 0em 0.75em 1em;
	padding:0 0.5em 0 0.5em;
}

Zusätzlich definieren wir noch eine Klasse für Float-Elemente am Beginn eines Absatzes, um diese oben bündig auszurichten:

.top {
	margin-top:0em;
	margin-bottom:1.5em;
}

Bei der Schriftgröße gibt es wiederum das übliche zu beachten: Bei Veränderung der Schriftgröße muss auch der Zeilen- und ggf. der Absatzabstand angepasst werden:

.small {
	font-size:0.857em;
	line-height:1.75em;
}
p.small {
	margin-bottom:1.75em;
}

Hinweis:

Die Formattierung der Float-Box gilt natürlich in dieser Form nur, sofern die Box die Basis-Schriftgröße hat. Deswegen muss z.B. für die Verkleinerung der Schriftgröße ein zweites Element innerhalb der Box verwendet werden, oder alternativ die Abstände für die Box verändert werden.

Anwendung

Unsere Beispiel-Seite enthält jetzt folgende Formattierungen:

  • Entfernung der Browser-Voreinstellungen
  • Wahl der Schriftarten
  • Anpassung der vertikalen Abstände

» Beispiel-Seite anzeigen   (vertikales Raster einblenden)

« Die Basis-Schriftgröße
Horizontale Ausrichtung, Wort- und Zeichenabstand »