Mit CSS Elemente ausrichten und positionieren
Auf Websites müssen Inhalte wie z.B. Texte und Bilder häufig ausgerichtet und positioniert werden. CSS bietet den Entwicklern hierfür verschiedene Möglichkeiten. Die folgenden Eigenschaften zählen dabei zu den wichtigsten.
- float (Element umfließen lassen)
- clear (Umfließen beenden)
- position (Zum Positionieren der Elemente)
- z-index (Reihenfolge bei Überlagerung)
- direction (Textrichtung ltr und rtl)
- text-align (horizontale Ausrichtung)
- vertical-align (Vvertikale Ausrichtung von Inline-Elementen)
Für die horizontale und vertikale Ausrichtung von Block-Elementen gibt es mehrere Möglichkeiten.
Eigenschaft float
Block-Elemente nehmen standardmäßig die gesamte verfügbare Breite ein und das folgende Element wird unterhalb positioniert, selbst wenn man mit der Eigenschaft width eine Breite zuweist und daneben noch genügend Platz für das nächste Element zur Verfügung steht. Erst durch die Eigenschaft float kann man es mit anderen Elementen umfließen lassen, sodass diese nebeneinander angeordnet werden. Um das Umfließen zu beenden, verwendet man die Eigenschaft clear.

Eigenschaft position
Inline- oder Block-Elemente werden standardmäßig in einem gewissen Fluss positioniert. Block-Elemente werden untereinander und Inline-Elemente nebeneinander positioniert, bis der Platz nicht ausreicht und ein Zeilenumbruch erfolgt. Mit der Eigenschaft position kann man ein Element aus dem Fluss nehmen und über die Eigenschaften top, left, right oder bottom mit einem gewissen Abstand zur normalen Position, zum Elternelement oder zum Anzeigebereich des Browsers positionieren.

Eigenschaft z-index
Nimmt man die Elemente mit der Eigenschaft position aus dem Fluss, können sie sich überlappen. Mit der Eigenschaft z-index wird von den hinteren bis zu den vorderen Lagen die Reihenfolge der Überlappungen festgelegt.

Eigenschaft direction
Die Texte auf ausländischen Websites werden nicht nur im europäischen Stil von links nach rechts geschrieben, sondern auch von rechts nach links, wie das z.B. bei arabischen Texten der Fall ist. Mit der Eigenschaft direction kann man innerhalb der Website den Elementen die Textrichtung ltr (left to right) oder rtl (right to left) vorgeben.

Eigenschaft text-align
Inline- und Inline-Block-Elemente können horizontal mit der Eigenschaft text-align ausgerichtet werden. Dabei wird die Eigenschaft nicht den auszurichtenden Elementen an sich zugewiesen, sondern den Elternelementen.

Eigenschaft vertical-align
Für die vertikale Positionierung von Elementen gibt es mehrere Möglichkeiten. Welche CSS-Regeln man verwendet, hängt dabei maßgeblich davon ab, ob man Inline- oder Block-Elemente ausrichten möchte. Inline-Elemente kann man z.B. mit der Eigenschaft vertical-align ausrichten. Dabei legt man die vertikale Position innerhalb der line-box fest, die unter Berücksichtigung der Zeilenhöhen (line-height) und den Schriftgrößen gebildet wird.

Block-Elemente können ebenfalls vertikal ausgerichtet werden. Hierbei gibt es mehrere Möglichkeiten, die unter vertikale Ausrichtung von Block-Elementen beschrieben werden. Eine einfache Möglichkeit ist, den Elementen mit der Eigenschaft display das Verhalten von Tabellenzellen zuzuweisen.