Hilfe:CSS: Unterschied zwischen den Versionen

Aus PokéWiki
Zur Navigation springen Zur Suche springen
K (Rechtschriebfehler)
KKeine Bearbeitungszusammenfassung
 
(32 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Hilfenavi}}
{{Hilfenavi}}


Jeder registrierte Benutzer hat die Möglichkeit, den in den Einstellungen ausgewählten Skin anzupassen. Der Standard-Skin ist „Monobook“, daher spricht man bei diesen Modifizierung meistens generell vom Monobook. Man kann aber auch alle anderen Skins auf diese Weise anpassen.
'''{{wp||Cascading Style Sheets|CSS (Cascading Style Sheets)|icon}}''' ist eine Auszeichnungssprache, mit der das Design von Webseiten verändert werden kann. Mithilfe von CSS-Stylesheets hat jeder registrierte Benutzer die Möglichkeit, den in den Einstellungen ausgewählten [[Hilfe:Einstellungen#Aussehen|Skin]] anzupassen.


Dazu benötigt man ein gewisses Grundwissen von JavaScript (JS) und Cascading Style Sheets (CSS). Sein eigenes Skript befindet sich jeweils hier: <br />
== Eigene CSS-Seite ==
<code>[[Special:Mypage/monobook.js|Benutzer:Dein Name/monobook.js]]/[[Special:Mypage/monobook.css|.css]]</code>.<br />
Jeder Benutzer hat eine eigene Seite, auf der er CSS eingeben kann, das auf allen Seiten eingebunden wird. Diese hat folgenden Namen:<br />[[Spezial:Meine Benutzerseite/common.css|Meine Benutzerseite/common.css]]<br />
Auf diesen Seiten kannst du ganz normales JS/CSS schreiben, welches dann für dich auf allen Seiten eingebunden wird.
<div class="useronly">Skinspezifisches CSS, beispielsweise für „PokeWiki“, würde unter [[Spezial:Meine Benutzerseite/pokewiki.css|Meine Benutzerseite/pokewiki.css]] angelegt werden. Wichtig ist, dass der Name des Skins komplett in Kleinbuchstaben geschrieben ist.</div>


Das PokéWiki stellt ein Beispiel-Skript zur freien Verfügung, welches sich [[Benutzer:Emeralda/beispiel.js|hier]] befindet. Ein Beispiel-Skript des CSS ''(noch in Arbeit)'' befindet sich [[Benutzer:Emeralda/beispiel.css|hier]].
== CSS-Syntax ==
Eine CSS-Anweisung ist folgendermaßen aufgebaut:<br />
<code><nowiki>Objekt { zuweisung; }</nowiki></code><br />
Im Objekt wird festgelegt, worauf sich die Zuweisung bezieht, und die Zuweisung beinhaltet die style-Befehle, die dem Objekt zugewiesen werden sollen.
 
=== einfache Elemente ===
Um einen Text blau zu färben, schreibt man: <nowiki><span style="color:blue;">Text</span></nowiki>.<br />
Dies kann man genau so gut auch mit CSS machen:<br />
<code>span { color:blue; }</code><br />
Schreibt man nun in einem Artikel <nowiki><span>Text</span></nowiki>, wird dieser Text blau gefärbt.
Bei diesem CSS-Beispiel ist <code>span</code> für das Objekt eingetragen worden, d. h. die Zuweisung bezieht sich auf den Text, der innerhalb von <nowiki><span></span></nowiki>-Tags steht. Als Zuweisung wurde nun eingetragen "color:blue;" also wird dem Objekt automatisch folgendes style-Attribut hinzugefügt: style="color:blue;". In der Zuweisung darf jedoch nur stehen, was sich bei einem normalen style-Attribut innerhalb der Anführungszeichen befindet. <nowiki><span style="zuweisung;"></span></nowiki> wäre in CSS also nur { zuweisung; }.
 
Der Nachteil bei diesem Beispiel ist, dass nun im ganzen Wiki alles blau dargestellt wird, was innerhalb von <nowiki><span></span></nowiki>-Tags steht, und nicht nur in dem Beispiel, in dem die blaue Farbe gewollt war.
 
=== class und id ===
Mit einer class- oder einer id-Zuweisung kann genauer ausgewählt werden, welchen Elementen die CSS-Anweisung zugewiesen werden soll.<br />
<code><nowiki><span class="blau">Text</span><span>Text</span></nowiki></code><br />
Wenn man nun als Objekt nicht "span" nimmt, sondern nur den Teil auswählt, dem die class="blau" zugewiesen ist, wird auch nur dieser Teil gefärbt. Um dem Computer zu signalisieren, dass man eine class-Zuweisung als Objekt nimmt, muss man den Namen der class mit einem Punkt davor einsetzen:<br />
<code><nowiki>.blau { color:blue; }</nowiki></code><br />
Jetzt wird nur das blau gefärbt, was innerhalb von <nowiki><span class="blau"></span></nowiki> steht.
 
Genauso wie mit class funktioniert es auch mit id (<nowiki><span id="blau">Text</span></nowiki>), der einzige Unterschied ist, dass für eine id als Signal ein Doppelkreuz (#) statt einem Punkt eingefügt werden muss:<br />
<code><nowiki>#blau { color:blue; }</nowiki></code>
 
=== alle Zuweisungen ===
Generell kann jeder Text, dem ein style-Attribut hinzugefügt wird, als Objekt ausgewählt werden:<br />
<code><nowiki><span style="font-size:20px;">Text</span><span>Text</span></nowiki></code> (das ergäbe <span style="font-size:20px;">Text</span><span>Text</span>)<br />
Auf den vergrößerten Text kann man nun folgendermaßen zugreifen:
<code><nowiki>span[style="font-size:20px;"] { color:blue; }</nowiki></code><br />
Das funktioniert nicht nur mit style sondern auch mit allen anderen Attributen, d.&thinsp;h. eine class-Zuweisung <code>.blau</code> könnte auch mit <code>[class="blau"]</code> umschrieben werden.
 
=== Sonstiges ===
Man kann unterscheiden, ob eine class-Zuweisung in einem span- oder in einem div-Tag stattfindet:<br />
<pre>
span.blau { color:blue; }
div.blau { color:red; }
</pre>
<code><nowiki><span class="blau">Text1</span><div class="blau">Text2</div></nowiki></code> ergibt dann <span style="color:blue;">Text1</span><span style="color:red;">Text2</span>.
 
Mehreren class-Attributen kann man dasselbe zuweisen mithilfe eines Kommas:<br />
<code><nowiki>.blau, .blue { color:blue; }</nowiki></code>
Jetzt macht es keinen Unterschied, ob man class="blau" oder class="blue" schreibt.
 
Um mehreren, ineinander verschachtelten Zuweisungen einzeln Attribute zuweisen zu können, gibt es Kombinatoren. Der einfachste Kombinator ist ein Leerzeichen. Dieses bedeutet, dass nur auf das Objekt zugegriffen wird, dem beide Attribute zugewiesen werden:<br />
<code><nowiki><div class="text"><div id="1">Text1</div></div><div class="text">Text2</div><div id="1">Text3</div></nowiki></code><br />
<code><nowiki>.text #1 { color:blue; }</nowiki></code> färbt nur "Text1" blau.
Bei einem Leerzeichen muss außerdem das zweite Objekt eine Zuweisung innerhalb des ersten Objekts sein, d.&thinsp;h. <code><nowiki><div id="1"><div class="text">Text4</div></div></nowiki></code> würde nicht eingefärbt werden.
 
 
Außerdem gibt es Zusätze, die weitere Zuweisungen ermöglichen:<br />
<code><nowiki>.text:hover { zuweisung; }</nowiki></code> → Zuweisung findet nur statt, wenn sich der Mauszeiger über dem Objekt class="text" befindet.
 
 
Für eine vollständige Liste aller Möglichkeiten, ein Objekt auszuwählen, siehe {{wp||Cascading Style Sheets#Definition des Syntaxschemas|hier|icon}}.
 
== Liste der Objekte ==
Hier werden einige Objekte aufgelistet, auf die man im PokéWiki mit CSS zugreifen kann. Um selbst herauszufinden, auf was man wie zugreifen kann, muss man sich den Quelltext der Seite anzeigen lassen (Rechtsklick → Seitenquelltext anzeigen / Quellcode anzeigen o.ä.)<br />
<pre>
body { zuweisung; } → kompletter Seitenhintergrund
#content { zuweisung; } → Artikelhintergrund
textarea { zuweisung; } → Bearbeitungsfenster
 
#p-navigation { zuweisung; } → Sidebar-Abschnitt Navigation
#p-search { zuweisung; } → Sidebar-Abschnitt Suche
#footer { zuweisung; } → Leiste ganz unten mit Copyright-Hinweisen etc.
 
.page-Hauptseite { zuweisung; } → Wird nur der Hauptseite zugewiesen
 
a { zuweisung; } → Links
a:visited { zuweisung; } → besuchte Links
a.new { zuweisung; } → Links auf noch nicht angelegte Seiten
a.external { zuweisung; } → Links auf externe Seiten
 
h1, h2, h3, h4, h5 { zuweisung; } → Überschriften in absteigender Ebene
 
.toc, #toc { zuweisung; } → Inhaltsverzeichnis
</pre>
 
== Beispiele ==
Hier werden nun verschiedene Beispiele beschrieben:
 
=== Hintergrund ===
Wikipedia-Symbol:
<pre>
body { background-image: url(https://upload.wikimedia.org/wikipedia/commons/e/ec/Wikipedia-logo-v2-de.png);background-repeat:repeat; }
</pre>
Ebenso können auch [[Vorlage:Gradient|Gradienten]] als Hintergrund verwendet werden.
 
=== Letzte Änderungen ===
Mit diesem CSS werden die „Unterschied“-Links auf der Seite der letzten Änderungen durchgestrichen, die man bereits gesehen hat. Das eignet sich vor allem für diejenigen, die möglichst alle Änderungen mitverfolgen möchten.
 
<pre>
.page-Spezial_Letzte_Änderungen #bodyContent li a:visited {
  color: #2222d0 !important;
}
.page-Spezial_Letzte_Änderungen #bodyContent li > a:first-child:visited {
  color: #7d7dff !important;
  font-size:96%;
  text-decoration:line-through;
}
</pre>
 
So kann man Benutzer farblich besonders markieren:
<pre>
.page-Spezial_Letzte_Änderungen a[title="Name des ersten Users"],
.page-Spezial_Letzte_Änderungen a[title="Name des zweiten Users"],
.page-Spezial_Letzte_Änderungen a[title="Name des dritten Users"],
[...]
.page-Spezial_Letzte_Änderungen a[title="Name des letzten Users"]
{
color: farbe;
}
</pre>

Aktuelle Version vom 22. Mai 2023, 22:51 Uhr

Hilfeseiten
Allgemein:
Seitengestaltung
Community:
Spezielles:

CSS (Cascading Style Sheets)Wikipedia-Icon ist eine Auszeichnungssprache, mit der das Design von Webseiten verändert werden kann. Mithilfe von CSS-Stylesheets hat jeder registrierte Benutzer die Möglichkeit, den in den Einstellungen ausgewählten Skin anzupassen.

Eigene CSS-Seite

Jeder Benutzer hat eine eigene Seite, auf der er CSS eingeben kann, das auf allen Seiten eingebunden wird. Diese hat folgenden Namen:
Meine Benutzerseite/common.css

Skinspezifisches CSS, beispielsweise für „PokeWiki“, würde unter Meine Benutzerseite/pokewiki.css angelegt werden. Wichtig ist, dass der Name des Skins komplett in Kleinbuchstaben geschrieben ist.

CSS-Syntax

Eine CSS-Anweisung ist folgendermaßen aufgebaut:
Objekt { zuweisung; }
Im Objekt wird festgelegt, worauf sich die Zuweisung bezieht, und die Zuweisung beinhaltet die style-Befehle, die dem Objekt zugewiesen werden sollen.

einfache Elemente

Um einen Text blau zu färben, schreibt man: <span style="color:blue;">Text</span>.
Dies kann man genau so gut auch mit CSS machen:
span { color:blue; }
Schreibt man nun in einem Artikel <span>Text</span>, wird dieser Text blau gefärbt. Bei diesem CSS-Beispiel ist span für das Objekt eingetragen worden, d. h. die Zuweisung bezieht sich auf den Text, der innerhalb von <span></span>-Tags steht. Als Zuweisung wurde nun eingetragen "color:blue;" also wird dem Objekt automatisch folgendes style-Attribut hinzugefügt: style="color:blue;". In der Zuweisung darf jedoch nur stehen, was sich bei einem normalen style-Attribut innerhalb der Anführungszeichen befindet. <span style="zuweisung;"></span> wäre in CSS also nur { zuweisung; }.

Der Nachteil bei diesem Beispiel ist, dass nun im ganzen Wiki alles blau dargestellt wird, was innerhalb von <span></span>-Tags steht, und nicht nur in dem Beispiel, in dem die blaue Farbe gewollt war.

class und id

Mit einer class- oder einer id-Zuweisung kann genauer ausgewählt werden, welchen Elementen die CSS-Anweisung zugewiesen werden soll.
<span class="blau">Text</span><span>Text</span>
Wenn man nun als Objekt nicht "span" nimmt, sondern nur den Teil auswählt, dem die class="blau" zugewiesen ist, wird auch nur dieser Teil gefärbt. Um dem Computer zu signalisieren, dass man eine class-Zuweisung als Objekt nimmt, muss man den Namen der class mit einem Punkt davor einsetzen:
.blau { color:blue; }
Jetzt wird nur das blau gefärbt, was innerhalb von <span class="blau"></span> steht.

Genauso wie mit class funktioniert es auch mit id (<span id="blau">Text</span>), der einzige Unterschied ist, dass für eine id als Signal ein Doppelkreuz (#) statt einem Punkt eingefügt werden muss:
#blau { color:blue; }

alle Zuweisungen

Generell kann jeder Text, dem ein style-Attribut hinzugefügt wird, als Objekt ausgewählt werden:
<span style="font-size:20px;">Text</span><span>Text</span> (das ergäbe TextText)
Auf den vergrößerten Text kann man nun folgendermaßen zugreifen: span[style="font-size:20px;"] { color:blue; }
Das funktioniert nicht nur mit style sondern auch mit allen anderen Attributen, d. h. eine class-Zuweisung .blau könnte auch mit [class="blau"] umschrieben werden.

Sonstiges

Man kann unterscheiden, ob eine class-Zuweisung in einem span- oder in einem div-Tag stattfindet:

span.blau { color:blue; }
div.blau { color:red; }

<span class="blau">Text1</span><div class="blau">Text2</div> ergibt dann Text1Text2.

Mehreren class-Attributen kann man dasselbe zuweisen mithilfe eines Kommas:
.blau, .blue { color:blue; } Jetzt macht es keinen Unterschied, ob man class="blau" oder class="blue" schreibt.

Um mehreren, ineinander verschachtelten Zuweisungen einzeln Attribute zuweisen zu können, gibt es Kombinatoren. Der einfachste Kombinator ist ein Leerzeichen. Dieses bedeutet, dass nur auf das Objekt zugegriffen wird, dem beide Attribute zugewiesen werden:
<div class="text"><div id="1">Text1</div></div><div class="text">Text2</div><div id="1">Text3</div>
.text #1 { color:blue; } färbt nur "Text1" blau. Bei einem Leerzeichen muss außerdem das zweite Objekt eine Zuweisung innerhalb des ersten Objekts sein, d. h. <div id="1"><div class="text">Text4</div></div> würde nicht eingefärbt werden.


Außerdem gibt es Zusätze, die weitere Zuweisungen ermöglichen:
.text:hover { zuweisung; } → Zuweisung findet nur statt, wenn sich der Mauszeiger über dem Objekt class="text" befindet.


Für eine vollständige Liste aller Möglichkeiten, ein Objekt auszuwählen, siehe hierWikipedia-Icon.

Liste der Objekte

Hier werden einige Objekte aufgelistet, auf die man im PokéWiki mit CSS zugreifen kann. Um selbst herauszufinden, auf was man wie zugreifen kann, muss man sich den Quelltext der Seite anzeigen lassen (Rechtsklick → Seitenquelltext anzeigen / Quellcode anzeigen o.ä.)

body { zuweisung; } → kompletter Seitenhintergrund
#content { zuweisung; } → Artikelhintergrund
textarea { zuweisung; } → Bearbeitungsfenster

#p-navigation { zuweisung; } → Sidebar-Abschnitt Navigation
#p-search { zuweisung; } → Sidebar-Abschnitt Suche
#footer { zuweisung; } → Leiste ganz unten mit Copyright-Hinweisen etc.

.page-Hauptseite { zuweisung; } → Wird nur der Hauptseite zugewiesen

a { zuweisung; } → Links
a:visited { zuweisung; } → besuchte Links
a.new { zuweisung; } → Links auf noch nicht angelegte Seiten
a.external { zuweisung; } → Links auf externe Seiten

h1, h2, h3, h4, h5 { zuweisung; } → Überschriften in absteigender Ebene

.toc, #toc { zuweisung; } → Inhaltsverzeichnis

Beispiele

Hier werden nun verschiedene Beispiele beschrieben:

Hintergrund

Wikipedia-Symbol:

body { background-image: url(https://upload.wikimedia.org/wikipedia/commons/e/ec/Wikipedia-logo-v2-de.png);background-repeat:repeat; }

Ebenso können auch Gradienten als Hintergrund verwendet werden.

Letzte Änderungen

Mit diesem CSS werden die „Unterschied“-Links auf der Seite der letzten Änderungen durchgestrichen, die man bereits gesehen hat. Das eignet sich vor allem für diejenigen, die möglichst alle Änderungen mitverfolgen möchten.

.page-Spezial_Letzte_Änderungen #bodyContent li a:visited {
  color: #2222d0 !important;
}
.page-Spezial_Letzte_Änderungen #bodyContent li > a:first-child:visited {
  color: #7d7dff !important;
  font-size:96%;
  text-decoration:line-through;
}

So kann man Benutzer farblich besonders markieren:

.page-Spezial_Letzte_Änderungen a[title="Name des ersten Users"],
.page-Spezial_Letzte_Änderungen a[title="Name des zweiten Users"],
.page-Spezial_Letzte_Änderungen a[title="Name des dritten Users"],
[...]
.page-Spezial_Letzte_Änderungen a[title="Name des letzten Users"]
{
color: farbe;
}