IDs und Klassen
Die Nutshell setzt bei der Gestaltung wo es nur geht auf die Verwendung von Klassen. Selbst für Bereiche wie <header>
und <footer>
solltest du nicht die Elemente oder IDs nutzen, sondern den Attribut-Selektor, z.B. [id="header"]
, um die CSS-Spezifität so gering wie möglich zu halten.
Mehr Infos zum CSS-Score und der Benennung von Klassen bekommst du in unserem CSS-Kurs für Contao.
# Elemente
Wir haben für alle standardmäßig vorhandenen Contao-Elemente bereits CSS-Anweisungen hinterlegt. Viele Elemente können jedoch durch weitere Klassen modifiziert werden.
Beispiel 1: Bild-Element
So gibt es zum Beispiel für das Bild-Element .ce_image
noch zusätzlich die Klassen .image--left
und .image--right
. Der Grund: Bilder, die kleiner sind, als der Viewport werden standardmäßig zentriert ausgerichtet.
Beispiel 2: Link-Elemente
Das Hyperlink-Element bekommt standardmäßig die gleichen Anweisungen wie der Link innerhalb eines Text-Elementes. Durch die Kombination der Klassen .btn
und .btn--primary
machst du aus einem Hyperlink-Element einen Button.
# Module
Im Gegensatz zu den Elementen, gibt es für die Module keine standardmäßige Gestaltung. Allen Modulen müssen die entsprechenden Klassen hinzugefügt werden, damit diese gestaltet werden.
Beispiel 1: Navigation
Um das Frontend-Modul Navigation zu gestalten, muss sowohl die Klasse .nav
, als auch die Klasse .nav--horizontal
hinzugefügt werden, um beispielsweise eine horizontale Hauptnavigation zu gestalten. Dadurch spielt es auch keine Rolle mehr, ob die Navigation ein Navigationsmenü
oder eine Individuelle Navigation
ist.
Beispiel 2: News
Auch die unterschiedlichen News-Module erhalten nur eine Grundgestaltung, wenn die entsprechenden Klassen hinzugefügt werden. Standardmäßig gibt es für Nachrichtenlisten 2 Klassen, die verwendet werden können: .news-list
oder .news-grid
.
Die Grundgestaltung wurde für alle zur Verfügung stehenden Templates (news_latest, news_short, news_simple
) berücksichtigt.