CSS
In diesem Abschnitt werden die CSS Elemente des Frameworks erklärt. Die wichtigsten Layout Komponenten sind Container sowie das Grid System. Des weiteren werden auch Tabellen und einige Klassen zur Farbauswahl erläutert.
In diesem Abschnitt werden die CSS Elemente des Frameworks erklärt. Die wichtigsten Layout Komponenten sind Container sowie das Grid System. Des weiteren werden auch Tabellen und einige Klassen zur Farbauswahl erläutert.
Gestalte komplexe Layouts mithilfe eines 12 Spalten Grid Systems. Eine Webseite kann gedanklich in eine Art Tabelle mit mehreren Spalten und Zeilen unterteilt werden. Ist die Tabelle zum Beispiel 12 Spalten breit und 1 Zeile hoch so sind über 450.000.000 Möglichkeiten der Positionierung möglich. Durch das Implementieren weiterer Klassen sind noch einmal mehr Optionen offen.
Container umschließen mehrere DOM Elemente und definieren deren maximale Breite. Im Optimalfall sollten die Containerklassen in semantische Elemente eingebunden werden, also zum Beispiel im <main> </main> oder <section> </section> Tag.
| Sehr Klein | Klein | Mittel | Groß | Sehr Groß | Elastisch | |
|---|---|---|---|---|---|---|
| Breite | 60% | 80% | 90% | 95% | 100% | 100% |
| Klassenname | .container-xs | .container-s | .container-m | .container-l | .container-xl | .container-elastic |
.container-xs
.container-s
.container-m
.container-l
.container-xl
Nachdem die Größen der Container bestimmt wurden, wird eine .row Klasse eingerichtet. Jeder <div> Tag mit der Klasse .row repräsentiert eine Zeile in unserer gedanklichen Tabelle. Innerhalb der Row können bis zu 12 .col Klassen eingebunden werden. Diese teilen sich den freien Platz untereinander auf.
Erste von zwei Spalten
Zweite von zwei Spalten
Erste von drei Spalten
Zweite von drei Spalten
Dritte von drei Spalten
Alternativ können einzelne oder alle Elemente mit einer bestimmten Größe versehen werden. Je nach Vorsilbe werden andere Bildschirmgrößen angesprochen. Sollen Elemente auf jeder Bildschirmgrößen gleich groß sein, so reicht es .xs zu definieren.
| Sehr Klein (< 400px) | Klein (< 600px) | Mittel (< 950px) | Groß (< 1240px) | Sehr Groß (> 1240px) | |
|---|---|---|---|---|---|
| Klassenname | .xs | .s | .m | .l | .xl |
| Spaltenanzahl | 12 (Konfigurierbar) | ||||
| Verschachtelbar | Ja | ||||
| Spalten sortieren | Ja | ||||
1 von 3
.xs6 (wider)
3 von 3
1 von 3
.xs9 (wider)
3 von 3
.col .xs7
2 von 3
3 von 3
Ebenfalls möglich ist es, mehrere Tabellen ineinander zu verschachteln - so entstehen noch mehr Möglichkeiten ein Layout zu gestalten. Alle zuvor erwähnten Attribute sind weiterhin anwendbar.
Level 1 .col
Level 1 .col
Level 2 .col
Level 3 .col
Level 3 .col
Level 2 .col
Level 1 .col
Füllen die angegebenen Spalten in einer Tabelle nicht die maximale Breite des Bildschirms aus, so können diese nach belieben positioniert werden. Standardmäßig werden Elemente und Texte Rechtsbündig zentriert.
.row in .container-m | .start
.row in .container-m | .center
.row in .container-m | .end
Im Falle, dass ein Container höher als die eingeschlossenen Elemente, können die Kindelemente entweder Oben, Unten oder in der Mitte positioniert werden.
.row in .container-m | .top
.row in .container-m | .middle
.row in .container-m | .bottom
Auch im Nachhinein ist es noch möglich die Position einiger Elemente zu ändern. Zum Beispiel können die Spalten geordnet oder eingerückt werden.
Um keine leeren Spalten definieren zu müssen, können einzelne Elemente weiter nach rechts gedrückt werden. Die Logik ist deckend zu der des Grid Systems und somit einfach verknüpfbar.
.col .push-xs2
.col .push-xs4
.col .push-xs6
.col .push-xs8
.col .push-xs10
.col .push-xs11
Sind nun zum Beispiel 6 Column Elemente definiert und das letzte Element im Sourcecode soll ganz nach vorne gebracht werden, so kann die Klasse first verwendet werden. Um das Gegenteil dazu zu erreichen wird die Klasse last verwendet. Weiteres kann über die Klassen .order1 - .order12 die komplette Ordnung verändert werden.
DOM Element 1
DOM Element 2
DOM Element 3 | .first
Falls Vorkenntnisse über Precompiler und im Speziellen über die Sprachen SASS und SCSS vorhanden ist, können die Werte vordefinierte Variablen geändert und das Stylesheet personalisiert werden. Zum Beispiel kann die Anzahl der Spalten von 12 auf 24 geändert werden.
Des Weiteren könnten die Breakpoints oder der Seitenrand verändert werden.
| Variablenname | Werte | |
|---|---|---|
| Spaltenanzahl Grid | $anzColumn | Nummer (0-24 Empfohlen) |
| Grid Breakpoints | $small-min | Nummer (0-∞) |
| Grid Breakpoints | $medium-min | Nummer (0-∞) |
| Grid Breakpoints | $large-min | Nummer (0-∞) |
| Grid Breakpoints | $xxlarge-min | Nummer (0-∞) |
| Automatischer Margine | $margin-auto | Prozentanzahl (0-100) |
Das Framework bietet eine kleine Selektion an vordefinierten Farbräumen. Neben den Grundfarben bieten wir einen Erweiterten Farbraum und vordefinierte Themen, wie zum Beispiel eines für Farben des Herbstes.
Hier werden alle Farbrad Farben mit 12 verschiedenen Tans als Klassennamen aufbereitet.
Der erweiterte Farbraum fügt weitere wichtige Farben zur Farbauswahl hinzu.
Der erweiterte Farbraum fügt weitere wichtige Farben zur Farbauswahl hinzu.
Wollen Sie einen Webshop für Herbstmode eröffnen, jedoch kein Vorwissen im Bereich Farblehre? Auch das sollte mit den vordefinierten Schemata keine Problem für sie werden.
Da Medien Elemente häufig in Webseiten eingebaut werden haben wir einige Klassen bereit gestellt die das Einbinden erleichtern. Wir haben die Medien in die Bereiche Bilder, Videos und Audio geteilt.
Um Bilder durch das Framework responsive zu machen gibt es die Klasse .img-wrapper welche es ermöglicht Bilder das sie sich automatisch prozentuell an die Größe des Browserfensters anpassen. Um Bildern ein spezielles Ausehen zu geben können die Klassen .round-img und .circle-img zusätzlich verwendet werden um Bilder abzurunden oder ganz rund zu gestalten.
Die Klasse .video-wrapper-16 und .video-wrapper-4 ermöglichen das Videos sich prozentuell zum Browserfenster ändern wobei die eine Klasse für 16:9 Videos geeigent ist und die andere für Videos im 4:3 Format.
Der <audio> Tag in HTML bietet eine standart Möglichkeit Audiodateien in Webseiten einzubinden. Das default Design des Tags wird in jedem Browser unterschiedlichen dargestellt. Das Framework beinhaltet die Klasse .audio-wrapper welche dem Audio Tag eine individuelles Aussehen, das in allen Browsern gleich ist, gibt.
Gleiche Spaltengröße
Tabellen sind ein weiteres wichtiges Layout Element und können vielseitig eingesetzt werden. Das Framework bietet ein Standartdesign für den <table> Tag. Zusätzlich gibt es 3 unterschiedliche Klassen die dem <table> Tag zugewiesen werden können um der Tabelle ein spezielles Aussehen zu geben. Mit der Klasse .table-light wird beim Überfahren einer Zeile die Hintergrundfarbe dieser Tabelle grau. Durch die Klasse .table-responsive bekommt die Tabelle die Eigenschaft sich prozentual dem Browserfenster anzupassen. Um eine gestreifte Tabelle zu verwenden kann dem <table> Tag die Klasse .table-stripped hinzugefügt werden.
| Farben | Schriftarten | Elemente |
|---|---|---|
| Rot | Roboto | Header |
| Grün | Raleway | Cards |
| Blau | Open-Sans | Footer |
| Farben | Schriftarten | Elemente |
|---|---|---|
| Rot | Roboto | Header |
| Grün | Raleway | Cards |
| Blau | Open-Sans | Footer |
| Farben | Schriftarten | Elemente |
|---|---|---|
| Rot | Roboto | Header |
| Grün | Raleway | Cards |
| Blau | Open-Sans | Footer |
Farben
Schriftarten
Elemente
Rot
Roboto
Header
Grün
Raleway
Cards
Blau
Open-Sans
Footer
Farben
Schriftarten
Elemente
Rot
Roboto
Header
Grün
Raleway
Cards
Blau
Open-Sans
Footer
Farben
Schriftarten
Elemente
Rot
Roboto
Header
Grün
Raleway
Cards
Blau
Open-Sans
Footer
Dieser Abschnitt beschäftigt sich mit kleinen Werkzeugen die verwendet werden können um das Layout einer Webseite zu verfeinern. Um den Fluss eines Elements zu verändern gibt es die Klassen .float-right und .float-left. Eine weitere wichtige Klasse ist .block mit ihr können Elemente als Block Elemente definiert werden das heißt das nach diesem Element ein Zeilenumbruch stattfindet. Um Inhalte ersichtlich zu trennen gibt es die Klasse .line mit der eine Trennline hinzugefügt werden kann sie sollte nur innerhalb eines <hr> Tags verwendet werden.
Das ist ein Block Element
Dieser Text ist links fließend
Dieser Text ist rechts fließend
Das ist ein Block Element
Da unser Framework Elemente wie Header, Footer und Karten enthält bietet es auch verschiedene Box Schatten für die jeweiligen Elemente an. Der Box Schatten hat den Effekt das er Elemente für den Betrachter so aussehen lässt als würde die entsprechende Komponente nicht Bestandteil der Website sein, sondern oben drauf liegen. Es gibt 5 verschiedene Klassen die einen unterschiedlich starken Schatten werfen. Die Klassen können über den Namen .shadow-ex-light,.shadow-light,.shadow-medium, .shadow-hard und .shadow-ex-hard wobei der Schatten aufsteigend stärker wird.
In diesem Abschnitt werden die Klassen .show und .hide erklärt. Das Framework enthält einige Klassen die bestimmen ab welcher Bildschirmgröße welches Element angezeigt werden soll und welches versteckt werden soll. Dafür gibt es die Klassen show-größe und hide-größe. An der Stelle der Größe ist die gewünschte Bildschirmgröße einzusetzen. Es gibt .sl, .md, .md-up.md-down,.lg und nur .show ohne Größe. Dieselben Regeln gelten auch für die .hide Klasse.
Box hide
Box show
Box show-sl
Box show-md
Box show-md-down
Box show-md-up
Box show-lg
Das Parallax-Scrolling ist einer der großen neuen Webdesign-Trends. Bei diesem Effekt handelt es sich um einzelne Ebenen die sich unterschiedlich schnell bewegen so entsteht bei Betrachter der Eindruck von Tiefe. Das Parallax-Scrolling kann dem Framework und der Klasse .parallax einfach implementiert werden. Die Klasse .parallax sollte dabei auf dem <body> oder einem .container angewendet werden.
Website Content
Animationen verdeutlichen dem User, dass eine Aktion stattgefunden hat. Nicht immer ist es sinnvoll sie zu verwenden und auch hier gilt "keep it simple". Eine Animation kann dem User auch eine Art Feedback geben, so können zum Beispiel Erklärungstexte bei falscher Eingabe erscheinen. Ein Weiteres Beispiel wären Informationsboxen oder Ankündigungen bei erstmaligem Anmelden. Für einige dieser Fälle werden Klassen bereitgestellt, die entweder mit dem "transition" oder dem "animation" Attribut ausgestattet sind. Weiteres wurden verschiedenste Schlüsselbildanimationen, oder in Fachspache auch Keyframes gennant, ausprogrammiert. Diese bestimmen die Art der Animation, so kann zum Beispiel ein Element in alle Richtungen hinausbewegt werden.
/* Dauer | Timingfunktion | Verzögerung | #Iterationen | Richtung | Füllmodus | Abspielstatus | Name */
animation: 3s ease-in 1s 2 reverse both paused slidein;
/* Variables Attribut | Dauer | Timingfunktion | Verzögerung */
transition: margin-right 4s ease-in-out 1s;
Wie oben bereits angesprochen verwenden Animationen Schlüsselbilder. In diesen kann die Position eines Elements, in einer bestimmten Zeitspanne der Animation, bestimmt werden. Im Beispiel unterhalb wird ein Keyframe mittels CSS definiert - Laden Sie jedoch unser Framework herunter müssen sie diese nicht beachten. Verwenden Sie einfach die bereitgestellten Klassennamen im nachfolgenden Bereich.
@keyframes moveOut {
from {top: 500px;}
to {top: .200px;}
}
Die unten aufgeführten Klassen rufen beim Erstellen des DOM's Animationen auf. Mit fortgeschrittenem Wissen können die Klassen auch zu anderen Zeitpunkten über JavaScript aufgerufen werden.