For faster navigation, this Iframe is preloading the Wikiwand page for Hilfe:CSS/TemplateStyles.

Hilfe:CSS/TemplateStyles

aus Wikipedia, der freien Enzyklopädie

Seit 2018 ist eine Möglichkeit vorhanden, speziell für eine bestimmte Seite CSS-Definitionen verfügbar zu machen.

In erster Linie ist dabei an Seiten gedacht, die eine bestimmte Vorlage einbinden, wobei dann diese Vorlage für sich selbst oder auch für eine Gruppe damit verbundener Vorlagen die Stildefinitionen aktiviert.

Das Feature setzt fortgeschrittene Kenntnisse in Wikisyntax, CSS, Seiten- und Projektorganisation voraus.

Im Vorlagen-Namensraum[1] wird eine Gruppe von zwei Seiten angelegt:

  1. Vorlage:Dingens/styles
  2. Vorlage:Dingens/styles.css

Die erste Seite enthält die spezifische Dokumentation, verlinkt mit Anwendungen und bewirkt die Kategorisierung.

  • In ihr sind automatisch die Stildefinitionen eingebunden, und sie soll an einigen Anwendungsbeispielen typische Auswirkungen der Stile demonstrieren.
  • Sie ist mittels <noinclude>((Dokumentation/styleSeite))</noinclude> in der ersten Zeile zu kennzeichnen.

Die zweite Seite enthält reinen CSS-Code.

  • Der Inhalt muss sanitized sein; so darf er beispielsweise keine Konstrukte mit url() enthalten, weil diese automatische zwangsweise Zählpixel auf beliebige Fremdserver enthalten könnten.
  • Wenn der Inhalt harmlos erscheint, erhält er das Content Model sanitized-css („Bereinigtes CSS“) und kann verwendet werden.

Das CSS kann dann von beliebigen Vorlagen oder selbst direkt in Metaseiten eingebunden werden.

  • So kann eine Muttervorlage stellvertretend für eine ganze Familie von Vorlagen den gemeinsamen CSS-Code bereitstellen; es könnte sogar die einzige Aufgabe der Muttervorlage darin bestehen, den CSS-Code einzubinden, zu verwalten und zu dokumentieren.

Grundsätzlich können die styles.css auch in anderen Namensräumen[1] angelegt werden. Auf das geeignete Content Model wäre dann zu achten.

Alle verwendeten Familien von Selektoren sind auf Wikipedia:Technik/Skin/CSS/TemplateStyles zu dokumentieren.

Wikisyntax: <tag>

<templatestyles>

In der aktivierenden Vorlage (die eine styles.css-Unterseite hätte, aber auch in jeder anderen) ist zu Beginn die folgende Anweisung anzubringen; ggf. auch mehrere:

<templatestyles src="Dingens/styles.css" />

Grundsätzlich ist das Element erstmal dazu gedacht, dass nur der expandierte Inhalt einer Vorlage dekoriert werden soll.

  • Tatsächlich ist es aber browsertechnisch kaum zu vermeiden, dass spätestens ab dem ersten Auftreten alle Spezifikationen für den Rest der Wiki-Seite wirksam bleiben.
  • Unklar im Raum steht, ob es irgendwann in der Zukunft einmal Mechanismen geben könnte, die die Wirkung außerhalb der Vorlageneinbindung verhindern könnten.
  • Oberhalb der ersten Einbindung werden die Regeln (je nach Browser) vermutlich nicht wirksam werden.

Wie oft Vorlagen mit solch einem Element in die dargestellte Seite eingebunden werden, ist gleichgültig; die Wiki-Software arbeitet die Definitionen nur ein einziges Mal in die Gesamtseite ein.

Mögliche CSS-Regeln

[Bearbeiten | Quelltext bearbeiten]

Alle regulären CSS3-Dekorationen sind möglich.

  • Voraussetzung sind allerdings Anweisungen, die auch in den Kernbestand großer Browser übernommen wurden.
  • @media, @page, @supports, @keyframe und @font-face/@font-feature-values sind möglich.
  • Herstellerspezifische Angaben wie beginnend mit -webkit-, -moz-, -ms- werden nicht unterstützt.
  • Ausgeschlossen sind wie üblich url(), background-image usw.
    • Ausnahme: URL, deren Pfad zu freigegebenen WMF-Projekten gehört, namentlich commons.
  • Die Regeln wirken auf den Bereich im HTML-Dokument, der mit class="mw-parser-output" markiert ist. In jedem Selektor im CSS-Dokument wird also bei der Ausgabe .mw-parser-output ergänzt. Es ist daher zwar möglich, in Selektoren Elemente zu nutzen, die (wie z. B. das <body>-Element) oberhalb des mw-parser-output-Containers in der HTML-Struktur stehen, diese können aber mittels CSS nicht selbst Wirkungsziel werden. Damit ist eine Wirkung außerhalb des Inhaltsbereichs (etwa im Portalrahmen) ausgeschlossen.
  • Die Regeln werden unmittelbar vor dem ersten Element, das sie anfordert, in das HTML-Dokument einmalig eingefügt. Damit haben sie gegenüber allen sonstigen Projekt- und Benutzer-Regeln Vorrang, weil sie erst nach diesen in der Kaskade auftreten. Um trotzdem noch eine Benutzer-Regel wirksam werden zu lassen, muss ggf. mit !important oder expliziteren Spezifitäts-Regeln gearbeitet werden.

Mit „Links auf diese Seite“ werden die jeweiligen Verwendungen als Vorlageneinbindungen aufgelistet.

Die Deklarationen werden nur wirksam, wenn die Seite das Content Model (Inhaltsmodell) sanitized-css – „Bereinigtes CSS“ hat.

  • Bei Neuanlage einer Seite im Vorlagen-Namensraum wird dies automatisch zugewiesen.
  • Andernfalls muss es durch Administratoren konfiguriert werden (über Spezialseite Inhaltsmodell einer Seite ändern).
  • Beim Speichern jeder Bearbeitung einer Seite, die diese Eigenschaft hatte, wird geprüft, ob alle Anweisungen sicherheitsmäßig unbedenklich sind. Ist das nicht der Fall, ist die Speicherung nicht möglich bzw. das Modell fällt auf css zurück.
  • Gibt es einmal Schwierigkeiten, empfiehlt es sich, zuallererst das Content Model auf das neutrale css zu setzen. Nach Verbesserung des Inhalts kann dann wieder sanitized-css – „Bereinigtes CSS“ gesetzt werden.

Fehler werden in Wartungskategorien erfasst:

Wird im Element auf eine fehlende oder leere Seite verwiesen, dann erscheint eine Fehlermeldung: „Die Seite …/styles.css hat keinen Inhalt.“

Weitere Informationen

[Bearbeiten | Quelltext bearbeiten]
MediaWiki: Help:TemplateStyles – Freie Wikisoftware (englisch)
Phabricator – Workboard: #TemplateStyles (englisch)
  1. a b Vorlagen dienen projektweiten Aufgaben und dem ANR. Alternativ können Unterseiten in den Namensräumen Wikipedia: oder Portal: verwendet werden, falls die Angelegenheit nur ein derartiges spezielles Thema betrifft. Auch der BNR käme in Frage.
    Das Content Model muss dann manuell zugewiesen werden.
{{bottomLinkPreText}} {{bottomLinkText}}
Hilfe:CSS/TemplateStyles
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?