Flexibles Boxmodell

Allgemeines zu flexiblen Boxen


Für das flexible Boxmodell müssen die Boxen in einem div zusammengefasst werden. Diese div hat die Eigenschaft display: box; und für die horizontale Anordnung der Boxen box-orient: horizontal;

Wichtig ist hier die Angabe der Breite. 100% verändert die Breite der Box mit dem Browserfenster. Für diese Container muss margin und padding auf 0 gesetzt werden. Sonst gibt es Probleme mit dem Abstand zum Elternelement.

Innerhalb diese div werden dann mit weiteren div die Boxen gesetzt. Diese div ist hier mit rotem Hintergrund hinterlegt.

Bis zur entgültigen Implementierung müssen noch der Herstellerkürzel davor gesetzt werden.

Ich habe mir für horizontale Boxen und vertiale Boxen zwei Klassen definiert.

Zur besseren Darstellung ist die flexible Box mit rotem Hintergrund und mit einem Rand ausgestattet. Das wird es in der Praxis so nicht geben. Hier wird das Element nur als Container verwendet. Die Formatierung geschieht über die Boxen im Container.

Um die Auswirkung zu sehen, muss die Breite des Browserfensters verändert werden.

flexBoxContainerH flexBoxContainerV

Flexible Boxen und Boxen mit feste Breite


Innerhalb des Box-Containers können die Boxen flexibel oder eine feste Breite haben.

Die Zahl bei box-flex gibt den Anteil der Box am restliche Platz an.

In diesem Beispiel ist box1 mit box-flex: 1, box2 mit box-flex: 2 und box3 als Box mit fester Breite definiert.

Format: class=box1-1
Format: class=box1-2
Format: class=box1-3

Wird der Text länger ist die Boxbreite zufällig.

Format: class=box1-1 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Format: class=box1-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Format: class=box1-3

Mit min-width kann man diese Zufälligkeit abstellen.

Format: class=box1-4
Format: class=box1-5
Format: class=box1-3

Allerdings hat das den Nachteil, dass bei Erreichen des min-width die Box aus dem Rahmen wandert.

Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.

CSS anzeigen

Ausrichtung der Boxen horizontal


Haben die Boxen feste Größen, kann mit box-pack die Ausrichtung bestimmt werden.

Es gibt start, center, end und justify.

Text im div box1 class=box2-1
Text im div box2 class=box2-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box2-3

start (Standard) - Die Boxen werden linksbündig angeordnet (id=flexBoxPackHS).

Text im div box1 class=box2-1
Text im div box2 class=box2-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box2-3

center - Die Boxen werden zentriert (id=flexBoxPackHC).

Text im div box1 class=box2-1
Text im div box2 class=box2-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box2-3

end - Die Boxen werden rechtsbündig angeordnet (id=flexBoxPackHE).

Text im div box1 class=box2-1
Text im div box2 class=box2-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box2-3

justify- soll den Platz zwischen den Boxen aufteilen. Dies funktioniert aber noch nicht (id=flexBoxPackHJ).

CSS anzeigen

Ausrichtung der Boxen vertical


Mit box-align wird die andere Dimension der Ausrichtung bestimmt.

Ist box-orient: horizontal bestimmt box-align die vertikale Ausrichtung

Es gibt stretch, start, center, end und baseline.

Text im div box1 class=box3-1
Text im div box2 class=box3-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box3-3

stretch (Standard) - Die Boxen werden gestreckt (id=flexBoxAlignVS).

Text im div box1 class=box3-1
Text im div box2 class=box3-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box3-3

start - Die Boxen werden oben angeordnet (id=flexBoxAlignVA).

Text im div box1 class=box3-1
Text im div box2 class=box3-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box3-3

center - Die Boxen werden vertival zentriert (id=flexBoxAlignVC).

Text im div box1 class=box3-1
Text im div box2 class=box3-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box3-3

end - Die Boxen werden unten angeordnet (id=flexBoxAlignVE).

Text im div box1 class=box3-1
Text im div box2 class=box3-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Text im div box3 class=box3-3

baseline - Mir ist noch nicht klar was baseline machen soll (id=flexBoxAlignVB).

CSS anzeigen

Geschachtelte Boxen


Hier ist nochmal die Flexbox aus Beispiel 1. Zusätzlich werden in der mittleren Box zwei Boxen vertikal angeordnet.

Dazu wird in die mittlere Box ein Container mit class flexBoxContainerV eingefügt. Dieser hat die Hintergrundfarbe grün.

In diesen vertikalen Container werden die Boxen 1 und 2 eingefügt.

Format: class=box1-1
Format: class=box1-1
Format: class=box1-2
Format: class=box1-3

Mit längerem Text ist auch hier die Breite zufällig.

Format: class=box1-1
Format: class=box1-1
Format: class=box1-2 Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn.
Format: class=box1-3