Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Kein Inline-CSS

Warum Templates keine style-Blöcke und keine style-Attribute tragen, wohin das CSS stattdessen gehört, wie Sie mit Werten pro Element umgehen (Prozentwerte, Farben aus Inhalten, berechnete Breiten) und die eine…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/designers/theme-design/no-inline-css.md

On this page

This page is a translation. Read the English original

Kein Inline-CSS

Diese Seite ist für Designer, die Templates schreiben. Die Regel des Projekts ist kurz: kein <style>-Block und kein style=""-Attribut in einem Template. Alles CSS lebt im Ordner stylesheets/ des Designs und wird über ezjscore geladen. Die Seite erklärt, warum, und wie Sie mit den Fällen umgehen, die Inline-CSS zu brauchen scheinen.

Inhalt

  1. Warum
  2. Wohin das CSS gehört
  3. Werte pro Element
  4. Stile, die aus Inhalten kommen
  5. Inline-CSS finden

Warum

  • Eine Content Security Policy mit style-src 'self' blockiert Inline-Stile (CSP-sicheres Design).
  • Inline-CSS wird nicht gepackt oder zwischengespeichert und mit jeder Seite erneut gesendet.
  • Kopien laufen auseinander: Die Administration hatte einmal 55 Templates mit eigenen <style>-Blöcken, vier verschiedene Akzentfarben und Dutzende weiße Karten, die den dunklen Modus ignorierten (die Geschichte steht in Gestaltung der Administration, „Why“).
  • Inline-Stile schlagen Regeln aus Stylesheets, sodass ein Theme das Element nicht mehr neu gestalten kann.

Wohin das CSS gehört

CSS fürGehört in
das ganze DesignIhr Haupt-Stylesheet, geladen von ezcss_load im Pagelayout
eine Art von Seiteeine eigene Datei, die das View-Template mit ezcss_require anfordert
eine Modulseite der Administrationzuerst die gemeinsamen Komponenten, dann stylesheets/modules/<group>.css oder das Admin-Stylesheet der Erweiterung

Werte pro Element

Ein Wert, der wirklich zu einem Element gehört (ein Fortschritt in Prozent, die Höhe eines Balkens, eine von einem Redakteur gewählte Farbe):

  • Eine Klasse aus einem festen Satz. admin4 hat .a4-pct-0 bis .a4-pct-100 in Schritten von 4 für Anzeigen und Balken:

    <span class="a4-meter"><span class="a4-pct-{$percent|div( 4 )|round|mul( 4 )}"></span></span>
  • Ein data-*-Attribut, das ein Skript in eine CSS-Custom-Property umwandelt:

    <div class="chart-bar" data-value="{$value|wash}"></div>
    document.querySelectorAll('.chart-bar').forEach(function (el) {
      el.style.setProperty('--value', el.dataset.value);   /* set from a script file: allowed by style-src 'self' */
    });
    .chart-bar { inline-size: calc(var(--value) * 1%); }

    Eine Stileigenschaft aus einer Skriptdatei zu setzen, ist kein Inline-Stilattribut im Markup und wird von einer Richtlinie ohne 'unsafe-inline' erlaubt.

Stile, die aus Inhalten kommen

Rich Text kann von Redakteuren gewählte Ausrichtungen oder Klassen enthalten; die Datentyp-Templates machen daraus Klassen, nicht style="". Behalten Sie das in Overrides von ezxmltags/*.tpl bei. Beachten Sie, dass die CSP-Seite empfiehlt, Websites mit von Inhalten erzeugtem style="" (eingebettete Player, alter Rich Text) mit Mode=report-only zu beginnen.

Inline-CSS finden

grep -rn -E "<style|style=\"" extension/mytheme/design --include=*.tpl

Bei Admin-Designs schlägt tests/tests/design/AdminStylingRulesTest.php bei jedem Vorkommen fehl; die einzige Ausnahme ist design/admin/templates/pagelayout.tpl für die Spaltenbreiten des Editors, bevor die Seite gezeichnet wird, im Test dokumentiert (Der Test der Admin-Gestaltungsregeln).

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x