Flex Layout Attribute: Schneller Designhelfer für CSS Flexbox

Flexbox: Schneller Layouthelfer stapelt deine Boxen zuverlässig. (Foto: Pixabay)
Das Flex Layout Attribute (FLA) stammt aus der digitalen Feder des serbischen Entwicklers Stefan Kovac. Er verteilt das Stylesheet kostenlos unter MIT-Lizenz über Github. Dort könntest du auch am Projekt mitarbeiten, wenn du möchtest. FLA ist in seiner minifizierten Fassung 7 Kilobyte schwer und selbst in der gut dokumentierten Normalfassung wiegt es lediglich knappe 11 Kilobyte. FLA wird unter Verwendung von Sass entwickelt. Die entsprechenden Sass-Files findest du ebenfalls auf Github.
Nach eigenen Angaben erdachte Kovac den kleinen Designhelfer aus Gründen des Eigenbedarfs. Er vertreibt ein flexibles Template für die Webanzeige von Fotobüchern und benötigte zu dessen Entwicklung ein schnelles Layout-Tool, das trotz einfacher Handhabung auch in der Lage sein musste, recht komplexe Designs rationell zu gestalten.
Ganz im Sinne eines Rapid Prototyping sollte FLA rein über HTML funktionieren. Das separate Schreiben von CSS für das Layout sollte vermieden werden. Gleichzeitig war es Kovac wichtig, dass die Syntax semantisch und die Parametrisierung ebenfalls verständlich bleibt.
FLA erschließt sich am schnellsten, wenn man die Demo auf der Projektseite aufsucht und die unterschiedlichen Möglichkeiten per Klick miteinander kombiniert. Dazu musst du etwas scrollen oder rechts oben auf demo klicken.

Flex Layout Attribute: Landing Page. (Screenshot: t3n)
Nun siehst du eine schwarze Fläche mit darin angeordneten blauen Boxen. Unterhalb der schwarzen Fläche findest du klickbare Parameter, mit deren Hilfe du die Platzierung, Aussehen, Ausrichtung und Anzahl der blauen Boxen beeinflussen kannst. Die durch die jeweilige Auswahl verursachte Änderung wird dir zum einen direkt innerhalb des schwarzen Feldes angezeigt, zum anderen findest du den entsprechenden Code-Schnipsel unterhalb des Parameterfeldes.

Flex Layout Attribute: Klickbare Demo. (Screenshot: t3n)
Die Funktionsweise ist einfach. FLA kommt mit zwei dedizierten HTML-Attributen namens layout
und self
. Während layout
das Layout der Kind-Elemente eines Containers beeinflusst, kommt self
zur Anwendung am jeweiligen Kind-Element selbst, beeinflusst also abweichend vom Elternelement das Layout des Kind-Elements.
Um die HTML-Attribute verwenden zu können, musst du das CSS korrekt in deine Dokumente einbinden. Das geschieht in gewohnter Weise:
<link href="css/flex-layout-attribute.min.css" rel="stylesheet">
Das Layout wird als natürlich-sprachliche Anweisung definiert. Würdest du also eine horizontal und vertikal zentrierte Reihe aus drei Elementen benötigen, lautete die Anweisung:
<div layout="row center-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
So sieht das Ergebnis aus:

Flex Layout Attribute: Ergebnis des obigen Codeschnipsels. (Screenshot: t3n)
Der Parameter row
bedeutet in diesem Konstrukt, dass es sich um eine Reihe handelt. center-center
definiert die horizontale und vertikale Zentrierung. Statt row
könntest du auch rows
wählen, was zur Folge hätte, dass die Reihe bei Bedarf umbrechen, also zu mehreren Reihen werden könnte. In gleicher Weise funktionieren column
und columns
. Verfeinern kannst du die Parameter noch über Prefixes für responsiv auf Viewport-Änderungen reagierende Ausrichtungsänderungen.
Die Größen der Elemente sind sowohl einzeln, wie auch in Relation zueinander leicht zu editieren. Der Einarbeitungsaufwand in das Flex Layout Attribute schätze ich auf maximal dreißig Minuten für nicht ganz unerfahrene Webentwickler.
Durch den offenen und gut dokumentierten Quellcode bist du natürlich in der Lage, das Verhalten des CSS entweder an deine Bedürfnisse anzupassen oder, was mit Blick auf Updates des FLA eher zu empfehlen ist, um deine eigenen Funktionen zu erweitern.
Fazit: Wenn du mit Flexbox arbeiten möchtest, ist FLA ein flexibler und schneller Layout-Helfer, mit dem du ein funktionierendes Design in Nullkommanichts auf die Beine stellst.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team
Schade auch hier, dass bei vielen Angaben wie z.B. self~=“size-larger Pixelangaben gemacht werden. Schöner und Zeitgemäßer wäre es, wenn auch hier em, rem oder % verwendet werden würde.