Wikipedia:Technik/Skin/CSS/Selektoren unter MediaWiki

Selektoren unter MediaWiki


In der MediaWiki-Software werden Zehntausende von Selektoren verwendet. Bis etwa 2010 hatte die englischsprachige Wikipedia noch versucht, die vergebenen Klassen zu erfassen, dies aber längst aufgegeben. Jede Extension definiert eigene Klassenbezeichner; auch bei MediaWiki weiß man schon lange nicht mehr, welche Klassenbezeichner alles in den generierten HTML-Dokumenten erscheinen – es gibt keine zentrale Registrierung.

Hinzu kommt, dass es Selektoren gibt, die spezifisch für eine einzelne Seite sind und spontan generiert werden; so ist das Lemma eines Artikels immer auch ein Selektor, wie auch jede Spezialseite einen speziellen Selektor hat. Genauso bewirkt jede Abschnittsüberschrift und jedes <ref> spontane Selektoren.

Interessanter als die Vielfalt theoretisch möglicher Klassenbezeichner sind diejenigen, für die

  • CSS-Definitionen zentral vorgehalten werden
  • sich häufig benötigte Effekte ausnutzen lassen.

Diese Seite listet besonders häufige oder wichtige Selektoren auf.

Namensschema

Seit 2010 wird häufig, jedoch nicht durchgehend, das Präfix mw-* vorangestellt. Daran angeschlossen ist dann oft ein Schlüsselwort für die ganze Gruppe eines Verwendungszwecks, woran auf - folgend die einzelnen Selektoren gebildet werden.

Aufbau einer Seite und Portalrahmen

Siehe dazu ausführlich Skin/GUI.

Direkte Dekoration in Artikeln, Vorlagen und anderen Seiten

Die nachstehenden Klassen können zur Textformatierung genutzt werden.

SelektorBedeutung
.centerLayout von Blockelementen; siehe Hilfe:Textgestaltung/Zentrieren
.explainGepunktete Unterstreichung, wie für die Anzeige des HTML-Elements <abbr> üblich; soll auf einen verfügbaren Tooltip bei einem beliebigen Textelement hinweisen. (Beispiel)
Textfluss von Blockelementen; siehe Hilfe:Textgestaltung/Layoutfluss #weltweit.
.mw-codeKodierter Text, wie er auch mit <code> dargestellt wird. (Beispiel)
.mw-collapsibleEin- und ausklappbare Elemente.
.mw-datatableMarkierung von Tabellenzeilen beim Überfahren mit der Maus; siehe Hilfe:Tabellen.
.smallSchriftverkleinerung vergleichbar <small> – jedoch statt der aus Tradition der frühen 1990er Jahre stammenden 85% ein barrierefreies Maß wie 94% (globale Vorgabe Stand 2021) oder vielleicht auch 91% für Menschen mit Augenproblemen. Ungünstig im Fließtext, aber geeignet in Tabellen und der Vorlagenprogrammierung.
Sortierbare Tabelle; siehe Hilfe:Tabellen/Sortierung .
.wikitableHübsche Standardtabelle; siehe Hilfe:Tabellen.

Situative Auslösung

Ein * bedeutet beliebige Fortsetzung zur Konkretisierung (Wildcard).

SelektorBedeutung
.action-*Momentane Aktion view, edit, submit, etc. als Klasse des <body>
.ltr .rtlVeraltet.
Die gewöhnliche Schreibrichtung in der Seite oder im Bereich ist „von links nach rechts“ bzw. „von rechts nach links“; insbesondere Eigenschaft von <body> und damit Ausnutzung in Kind-Elementen möglich.
Aktuell soll html[dir="ltr"] bzw. html[dir="rtl"] ausgewertet werden (für die gesamte Seite); ggf. für Kind- oder Eltern-Elemente.
Die Seitensprache und damit die Schreibrichtung richten sich nach der Benutzersprache, nicht nach dem Inhaltsbereich.
.nomobileDieser Bereich soll nicht sichtbar werden, wenn die Seite momentan auf einem Mobilgerät dargestellt wird; siehe Technik/Mobil #Seitendarstellung.
.noprintDieser Bereich soll ausgeblendet werden, wenn die Seite in einer Druckversion bzw. als PDF dargestellt werden soll.
.ns-*Die Seite befindet sich momentan in einem bestimmten Namensraum als Klasse des <body>.
.page-*Name der umgebenden Seite als Klasse des <body>
.skin-*Name der momentanen Skin als Klasse des <body>
Kennzeichnung von Verlinkungen
SelektorBedeutung
.externalVerlinkung über eine URL
  • .external .free Unformatiert (nur URL)
  • .external .text Weblink (betitelt, in Klammern)
  • .external .autonumber Weblink (unbetitelt, in Klammern, nummeriert)
.extiwVerlinkung über Interwiki-Syntax
  • Sprachversion
  • Verlinkung auf Sprache mit Code xx
.mw-disambigVerlinkung auf eine Begriffsklärung
.mw-redirectVerlinkung auf eine Weiterleitung
a.new„Redlink“; Verlinkung einer nicht existierenden Seite im eigenen Projekt
.stubVerlinkung auf vom Benutzerkonto definierte „kleine“ Seite; auch veränderte Linkfarbe.
Verlinkungen im Wikilink-Format innerhalb des Wikis erhalten keine besondere Klasse.

Siehe auch Anwendungen dieser Klassen.

Medieneinbindungen bis 2023
SelektorBedeutung
.imageAlle Bildeinbindungen; Verlinkung mit Dateibeschreibung usw.
.magnifyVerlinkung auf Dateibeschreibungsseite im Miniaturbild
.thumbMiniaturbild insgesamt
img.thumbborderMiniaturbild; Bildumrahmung
.thumbcaptionMiniaturbild; Bildlegende
.thumbimageMiniaturbild; Grafikbereich
.thumbinnerMiniaturbild; thumbimage + thumbcaption

Ab Juli 2023 werden diese Selektoren nicht mehr im generierten HTML verwendet (phab:T318433); siehe FAQ. Die CSS-Ressourcen sollen noch „einige Zeit“ ausgeliefert werden.

Medieneinbindungen ab 2023
SelektorBedeutung
figureAlle Bildeinbindungen; mit Legende und Verlinkung zur Dateibeschreibung usw.
figcaptionBildlegende
.mw-default-sizeMiniaturbild
.mw-file-descriptionVerlinkung zur Dateibeschreibungsseite
.mw-file-elementMedienelement: <img>
.mw-halign-leftBild ist links im Layoutfluss angeordnet
.mw-halign-rightBild ist rechts im Layoutfluss angeordnet

Die nachstehenden Klassen werden in der englischsprachigen Wikipedia genutzt und sollen deshalb von allen Wikis der Welt genauso benutzt werden; die Klassenbezeichner dürfen nicht anders verwendet werden.

Zitationen / <ref>
nach Art
SelektorBedeutung
.bookBuch
.journalZeitschrift
.newsNachricht
.noteAnmerkung
.webWebseite

Siehe auch Reference Previews‎.

Verschiedene besondere Elemente
SelektorBedeutung
.minoreditMarkierung kleiner Änderungen in der Beobachtungsliste
.referenceMarkierung eines Anmerkungszeichens im Text
.reference-textAnmerkungs-Element im Block <references>
.tocMarkierung des Inhaltsverzeichnisses („TOC“); Formatierung kann sich jederzeit ohne Angabe von Gründen ändern oder völlig wegfallen

Funktionelle Effekte

Die nachstehenden Selektoren sind eher nicht dauerhafter Bestandteil des Seiteninhalts; ihnen ist auch nicht notwendig unmittelbar eine Dekoration zugeordnet. Teils haben sie eine Wirkung auf bestimmte Software-Funktionen, teils weisen sie auf bestimmte Situationen hin. Einige der CSS-Dekorationen sind in den 2020ern nicht mehr in jeder Wiki-Seite enthalten, sondern erhalten das CSS von MediaWiki nur wenn generiert.

SelektorBedeutung
.cdx-*Codex-Element
#centralNoticeCentralNotice
Für das Dokument (<body>) gesetzt wenn JavaScript (nicht) aktiv.

Wird abgeleitet etwa für .noscript ausgenutzt.

.cm-*CodeMirror / meta:
.errorMarkierung ausgelöster Fehlersituationen.
  • Die Parserfunktion {{#iferror:}} erkennt, dass ein derartiger Text im eingeschlossenen Bereich vorkommt; jedoch nur, wenn der Klassenbezeichner auch in " eingeschlossen wurde, nicht aber bei ' oder ohne.
  • Andere Softwarewerkzeuge erkennen das Vorhandensein der Klasse ebenfalls.
  • Die Darstellung erfolgt in roter Schrift; möglicherweise außerdem Fettschrift, vergrößert oder gelb unterlegt.
  • Generierte Fehlermeldungen sollen immer über diese Klasse gekennzeichnet werden, niemals im Eigenbau mittels einfacher roter Schriftfarbe.

(Beispiel)

.errorboxDarstellung ähnlich .error als Kasten; aber ohne die Auslösung zusätzlicher Effekte. (Beispiel)
.fileinfotpl*Maschinenlesbare Datei-Infos, siehe .licensetpl
.licensetpl*Maschinenlesbare Lizenz-Infos, ausschließlich für Vorlagen, die für Dateibeschreibungsseiten bestimmt sind.
.metadataEigenschaft beim Medienbetrachter; unterdrückt die Medienbetrachter-Anzeige nebensächlicher Bilder.
.multicol2019 Zwangsumbruch von Layouttabellen in der Mobildarstellung
.mw-archivedtalkDiscussionTools
.mw-highlight .errMarkierung von Syntaxfehlern bei <syntaxhighlight>.
.mw-indicatorsSeitenindikatoren (rechts oben)
.mw-infoboxdeprecated styles[1]

Gemeint ist ohnehin keine „Infobox“, sondern eine „warnende Information“.
Siehe auch: .infobox

.mw-notalkDiscussionTools
.mw-warningNeutraler, unauffällig umrahmter Kasten. (Beispiel)
.navigation-not-searchableBestimmte Textbereiche sollen als unwichtig für die Suchergebnisse markiert werden; siehe Suche/Cirrus
.noresizeEigenschaft der Mobildarstellung; verhindert bei echten Endgeräten das responsive sizing – Grafiken werden gegenüber dem Text verkleinert. Das wäre bei Icons unerwünscht.
.nothemeEin Dark Mode soll für diesen Bereich explizit ausgeschlossen werden.
.notpageimageMögliches Seitenvorschaubild ausschließen.
Eigenschaft beim Medienbetrachter; unterdrückt die Medienbetrachter-Anzeige.
.searchauxBestimmte Textbereiche sollen als nachrangig für die Reihenfolge von Suchergebnissen markiert werden; siehe Suche/Cirrus
#siteNoticeSiteNotice
.skin-invertFür Grafiken mit schwarzem Text auf transparentem Hintergrund: Farben im Dunkelmodus invertieren
.successMarkierung ausgelöster erfolgreicher Situationen; Gegenstück zu .error. (Beispiel)
.tdg-*TemplateData-Generator
.ve-not-availableVisualEditor nicht verfügbar
.warningMarkierung ausgelöster minder schwerer Fehlersituationen; ähnlich .error. (Beispiel)
.warningboxÄhnlich .warning als Kasten. (Beispiel)

Konzepte der englischsprachigen Wikipedia

Die nachstehenden Praktiken werden in der englischsprachigen Wikipedia genutzt und sollen deshalb von allen Wikis der Welt mit demselben Konzept und der gleichen Auswirkung verwendet werden. Vorrangig in der Mobildarstellung wirksam. Manual: IDs and classes.

SelektorBedeutung
.amboxUndocumented – soll irgendwie ein Problem beschreiben, wie es in der enWP auftritt, und hätte deshalb irgendeine Auswirkung in der Mobildarstellung.
.hatnoteSoll andeuten, dass ein Element im Kopf einer Seite erscheint.
.infoboxInsbesondere auf Mobilgeräten: Layout einer Infobox; insbesondere bei schmalem Bildschirm über die gesamte Breite.
Siehe auch: .mw-infobox
.navboxUndocumented – soll auf Mobilgeräten irgendeine Auswirkung haben.
.tmboxUndocumented – soll auf Mobilgeräten irgendeine Auswirkung haben.
.topiconUndocumented – soll auf Mobilgeräten irgendeine Auswirkung haben.
.vertical-navboxUndocumented – soll auf Mobilgeräten irgendeine Auswirkung haben.

Spezialseiten und Aktivitäten

Viele Klassen und Konfigurationsmöglichkeiten für einzelne Spezialseiten und Aktivitäten sind bei Skin/CSS beschrieben; außerdem auch bei den jeweils zugehörigen Hilfeseiten.

Beispielformatierungen

class="error"

Dies ist kein echter Fehler.

class="errorbox"

Dies ist kein echter Fehler.

class="explain"

Hier gibt es einen Tooltip .

class="mw-ajax-loader"

Dies ist eine psychedelische Animation; Vertraue miiiir …  

class="mw-code"

Dies ist Computer-Code.
Auch mehrzeilig.

class="mw-warning"

Warnhinweis.

class="plainlinks"

http://example.org/ und zum Vergleich http://example.org/

class="success"

Dies ist ein Erfolg.

class="warning"

Dies ist keine echte Warnung.

class="warningbox"

Dies ist keine echte Warnung.

Anmerkungen

  1. 2021-01 phab:T268194, Gerrit:647759