Lesen Sie den Inhalt unter Grundlegendes zum Code für das Stilsystem, um ein Verständnis der BEM-ähnlichen Konventionen zu gewährleisten, die vom AEM Stilsystem verwendet werden.
Es gibt zwei Hauptformate oder -stile, die für das AEM Stilsystem implementiert sind:
Layoutstile beeinflussen viele Elemente einer Komponente, um eine gut definierte und identifizierbare Ausgabedarstellung (Design und Layout) der Komponente zu erstellen, und richten sich häufig an ein bestimmtes wiederverwendbares Markenkonzept aus. Beispielsweise kann eine Teaser-Komponente im herkömmlichen kartenbasierten Layout, einem horizontalen Promotionstil oder als Hero-Layout-Überlagerungstext für ein Bild dargestellt werden.
Anzeigestile werden verwendet, um geringfügige Änderungen an Layout-Stilen zu beeinflussen. Sie ändern jedoch nicht die grundlegende Natur oder den Zweck des Layout-Stils. Beispielsweise kann ein Hero-Layoutstil Anzeigestile aufweisen, die das Farbschema vom primären Markenfarbschema in das sekundäre Markenfarbschema ändern.
Beim Definieren der Stilnamen, die AEM Autoren zur Verfügung stehen, sollten Sie Folgendes tun:
Je mehr Stilkombinationen AEM Autoren zur Verfügung stehen, desto mehr Permutationen müssen durch Qualitätssicherung und Validierung anhand von Markenstandards vorgenommen werden. Zu viele Optionen können Autoren auch verwirren, da unklar werden kann, welche Option oder Kombination erforderlich ist, um den gewünschten Effekt zu erzielen.
Stilnamen oder die Optionen, die AEM Autoren angezeigt werden, und die implementierenden CSS-Klassennamen werden in AEM entkoppelt.
Dadurch können Stiloptionen in einem Vokabular deutlich beschriftet und von den AEM-Autoren verstanden werden, aber CSS-Entwickler können die CSS-Klassen auf zukunftssichere, semantische Weise benennen. Beispiel:
Eine Komponente muss über die Optionen verfügen, die mit dem primary und Sekundär Farben kennen die AEM jedoch die Farben als green und gelb, anstatt der Entwurfssprache von primär und sekundär zu sein.
Das AEM Stilsystem kann diese farbigen Anzeigestile mithilfe von bedienerfreundlichen Beschriftungen verfügbar machen Grün und Gelb, während es den CSS-Entwicklern ermöglicht, die semantische Benennung von .cmp-component--primary-color
und .cmp-component--secondary-color
, um die tatsächliche Stilimplementierung in CSS zu definieren.
Der Stilname von Grün wird zugeordnet zu .cmp-component--primary-color
und Gelb nach .cmp-component--secondary-color
.
Wenn sich die Markenfarbe des Unternehmens in Zukunft ändert, müssen nur die einzelnen Implementierungen von .cmp-component--primary-color
und .cmp-component--secondary-color
und die Stilnamen.
Im Folgenden finden Sie ein Anwendungsbeispiel für das Formatieren einer Teaser-Komponente mit mehreren verschiedenen Layout- und Anzeigestilen.
Dadurch wird untersucht, wie Stilnamen (für Autoren verfügbar gemacht) und wie die unterstützenden CSS-Klassen organisiert sind.
Die folgende Abbildung zeigt die Stile -Konfiguration für die Teaser-Komponente für die im Anwendungsbeispiel behandelten Varianten.
Die Stilgruppe Namen, Layout und Anzeige entsprechen durch Zufriedenheit den allgemeinen Konzepten von Anzeigestilen und Layoutstilen, die zur konzeptionellen Kategorisierung von Stiltypen in diesem Artikel verwendet werden.
Die Stilgruppe Namen und Anzahl Stilgruppen sollte auf den Anwendungsfall der Komponente und die projektspezifischen Komponentenstil-Konventionen zugeschnitten sein.
Beispiel: die Anzeige Der Name der Stilgruppe hätte Farben.
Das folgende Bild zeigt die Stil -Menüautoren interagieren mit , um die entsprechenden Stile für die Komponente auszuwählen. Beachten Sie die Stil-Grafik -Namen sowie die Stilnamen dem Autor angezeigt werden.
Der Standardstil ist häufig der am häufigsten verwendete Stil der Komponente und die standardmäßige, nicht formatierte Ansicht des Teasers beim Hinzufügen zu einer Seite.
Abhängig von der Gemeinsamkeit des Standardstils kann CSS direkt auf die .cmp-teaser
(ohne Modifikatoren) oder auf einer .cmp-teaser--default
.
Wenn die standardmäßigen Stilregeln häufiger als nicht für alle Varianten gelten, empfiehlt es sich, .cmp-teaser
als CSS-Klassen des Standardstils verwenden, da alle Varianten diese implizit übernehmen sollten, vorausgesetzt, BEM-ähnliche Konventionen werden befolgt. Ist dies nicht der Fall, sollten sie über den Standard-Modifikator angewendet werden, z. B. .cmp-teaser--default
, die wiederum der CSS-Standardklassen der Stilkonfiguration der Komponente -Feld, da diese Stilregeln andernfalls in jeder Variante überschrieben werden müssen.
Es ist sogar möglich, einen "benannten"Stil als Standardstil zuzuweisen, z. B. den Hero-Stil (.cmp-teaser--hero)
unten definiert ist, es ist jedoch klarer, den Standardstil für die .cmp-teaser
oder .cmp-teaser--default
CSS-Klassenimplementierungen.
Beachten Sie, dass der standardmäßige Layoutstil KEINEN Anzeigestil-Namen aufweist. Der Autor kann jedoch im AEM Stilsystem-Auswahlwerkzeug eine Anzeigeoption auswählen.
Dies verstößt gegen die Best Practice:
Zeigt nur Stilkombinationen an, die einen Effekt haben
Wenn ein Autor den Anzeigestil von Grün nichts wird passieren.
In diesem Anwendungsfall wird diese Verletzung zugegeben, da alle anderen Layoutstile mithilfe der Markenfarben farbig sein müssen.
Im Angebot (rechts ausgerichtet) Im folgenden Abschnitt erfahren Sie, wie Sie unerwünschte Stilkombinationen verhindern können.
.cmp-teaser--promo
oder .cmp-teaser--default
Die Layout von Angeboten wird verwendet, um hochwertige Inhalte auf der Site zu bewerben. Diese Inhalte werden horizontal so angeordnet, dass sie einen Bereich Platz auf der Webseite aufnehmen, und müssen mit Markenfarben formatiert sein, wobei der standardmäßige Layoutstil Promo mit schwarzem Text verwendet wird.
Um dies zu erreichen, muss ein Layoutstil von Promo und Anzeigestile von Grün und Gelb werden im AEM Stilsystem für die Teaser-Komponente konfiguriert.
cmp-teaser--promo
.cmp-teaser--promo
cmp-teaser--promo
cmp-teaser--primary-color
cmp-teaser--promo.cmp-teaser--primary-color
cmp-teaser--promo
cmp-teaser--secondary-color
cmp-teaser--promo.cmp-teaser--secondary-color
Die Angebot rechts ausgerichtet Der Layoutstil ist eine Variation des Angebotsstils, der die Position des Bildes und des Textes (Bild rechts, Text links) im Stil spiegelt.
Die richtige Ausrichtung im Kern ist ein Anzeigestil, der in das AEM Stilsystem als Anzeigestil eingegeben werden kann, der in Verbindung mit dem Layout-Stil von Promo ausgewählt wird. Dies verstößt gegen die Best Practice von:
Zeigt nur Stilkombinationen an, die einen Effekt haben
.die bereits in der Standardstil.
Da sich die richtige Ausrichtung nur auf den Layoutstil von Promo und nicht auf die beiden anderen Layoutstile auswirkt: Standard und Hero können wir einen neuen Layoutstil "Promo"(rechts ausgerichtet) erstellen, der die CSS-Klasse enthält, die den Inhalt der Promo-Layoutstile rechtsbündig ausrichtet: cmp -teaser--alternate
.
Diese Kombination mehrerer Stile zu einem einzelnen Stileintrag kann auch dazu beitragen, die Anzahl der verfügbaren Stile und Stilpermutationen zu reduzieren, was am besten zu minimieren ist.
Beachten Sie den Namen der CSS-Klasse. cmp-teaser--alternate
, muss nicht mit der autorfreundlichen Nomenklatur von "rechtsbündig"übereinstimmen.
cmp-teaser--promo cmp-teaser--alternate
.cmp-teaser--promo.cmp-teaser--alternate
cmp-teaser--promo cmp-teaser--alternate
cmp-teaser--primary-color
.cmp-teaser--promo.cmp-teaser--alternate.cmp-teaser--primary-color
cmp-teaser--promo cmp-teaser--alternate
cmp-teaser--secondary-color
.cmp-teaser--promo.cmp-teaser--alternate.cmp-teaser--secondary-color
Der Hero-Layoutstil zeigt das Bild der Komponenten als Hintergrund mit überlagerter Überschrift und überlagerter Verknüpfung an. Der Hero-Layoutstil, wie auch der Promo-Layoutstil, muss mit Markenfarben farbig sein.
Um den Hero-Layoutstil mit Markenfarben zu färben, können dieselben Anzeigestile verwendet werden, die auch für das Layout "Promo"verwendet werden.
Pro Komponente wird der Stilname dem einzelnen Satz von CSS-Klassen zugeordnet. Das bedeutet, dass die CSS-Klassennamen, die den Hintergrund des Layoutstils "Promo"farblich markieren, den Text und die Verknüpfung des Hero-Layoutstils farblich markieren müssen.
Dies kann durch das Scoping der CSS-Regeln zunächst erreicht werden. Dies erfordert jedoch, dass die CSS-Entwickler verstehen, wie diese Permutationen auf AEM angewendet werden.
CSS zum Färben des Hintergrunds des Bewerben Layoutstil mit der primären (grünen) Farbe:
.cmp-teaser--promo.cmp-teaser--primary--color {
...
background-color: green;
...
}
CSS zum Färben des Texts der Hero Layoutstil mit der primären (grünen) Farbe:
.cmp-teaser--hero.cmp-teaser--primary--color {
...
color: green;
...
}
cmp-teaser--hero
.cmp-teaser--hero
cmp-teaser--hero
cmp-teaser--primary-color
cmp-teaser--hero.cmp-teaser--primary-color
cmp-teaser--hero
cmp-teaser--secondary-color
cmp-teaser--hero.cmp-teaser--secondary-color