ID-Selektor

(Auszug aus "CSS − Anspruchsvolle Websites mit Cascading Stylesheets" von Rachel Andrew & Dan Shafer)

Mit einem ID-Selektor kann man Stilregeln festlegen, die für ein einzelnes HTML-Element auf der Seite gültig sind. Eine Stilregel mit ID-Selektor überschreibt sämtliche anderen CSS-Eigenschaftsdefinitionen, die für ein HTML-Element gelten. In der Stilregel legt man für die ID einen Namen fest und schreibt ihn hinter ein »#«-Symbol. (Anmerkung: Man kann eine ID auch mit einem bestimmten Elementtyp verbinden. Diesen schreibt man vor das #-Zeichen, zum Beispiel div#searchbox. Da in einem HTML-Dokument aber sowieso immer nur ein Element einer bestimmte ID zugewiesen werden kann, ist es überflüssig, die Stilregel auch noch auf ein spezielles Element zu beschränken.) Nur ein einziges Element in einem HTML-Dokument kann der ID-Stilregel zugewiesen werden. Dieselbe ID an mehrere HTML-Tags zu vergeben ist nach der CSS2-Spezifikation ungültig.

Folgende Stilregel definiert ein Element mit der ID einzigartig:

#einzigartig {
  font-size: 70%;
}

Auch ein ID-Selektor ist nur für Elemente gültig, die mit dem Namen des Selektors in einem HTML-Attribut gekennzeichnet sind. Das folgende Beispiel zeigt, wie man einer ID-Stilregel ein HTML-Element zuweist:

<h4 id="einzigartig">Das wird eine winzige Überschrift</h4>

Nehmen wir ein HTML-Dokument, das fünf Mal das Klassenelement <div class="seitenleiste"> enthält. Nun soll der einzige div-Absatz mit einer Suchbox einige Eigenschaften aus der Stilregel für die Klasse seitenleiste übernehmen, das erreichen Sie so:

div.seitenleiste {
   border: 1px solid black;
   background-color: yellow;
}
#suchbox {
   background-color: orange;
}

Das div-Element, das die Suchbox umschließt, sieht in HTML dann so aus:

<div id="suchbox" class="seitenleiste">
   <!-- HTML für Suchleiste -->
</div>

Da das div-Element die Attribute id="suchbox" und class="seitenleiste" hat, werden alle Deklarationen der Regel für seitenleiste auf die Suchbox angewendet, aber die Suchbox wird mit ihrer eigenen Hintergrundfarbe, die mit background-color in der #suchbox-Regel definiert wurde, dargestellt. Nach dem Prinzip der Kaskadierung (mit dem in CSS geregelt wird, welche Deklaration zum Zuge kommt, wenn es in unterschiedlichen Stilregeln gleich mehrere für dieselbe Eigenschaft eines Elements gibt) erhält eine ID-Regel grundsätzlich den Vorrang gegenüber einer Klassenregel. Weitere Informationen zur Kaskadierung von CSS-Regeln finden Sie unter Kaskadierung und Vererbung in CSS.

Zum gleichen Ergebnis wie im letzten Beispiel kommen wir auch, wenn wir anstatt der ID-Stilregel einfach eine neue Klasse für den div-Bereich mit der Suchbox erstellen. Der Programmieraufwand wäre somit zwar etwas größer, wir wären aber zugleich flexibler für die weitere Arbeit an unserer Seite. Stellen Sie sich einmal vor, Sie haben eine Klasse oder eine andere Regel, die auf alle Überschriften dritter Ordnung angewendet werden soll, mit Ausnahme von einer und Sie haben einen ID-Selektor für diese Ausnahme definiert. Was tun Sie, wenn es nach einem Redesign oder nach inhaltlichen Änderungen der Seite noch mehr solche Ausnahmen geben soll? Dann würde sich der Weg über den ID-Selektor als Sackgasse erweisen: Ein ID-Selektor lässt sich von keiner anderen Stilregel überschreiben.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema CSS bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2006 der deutschen Übersetzung dpunkt.verlag GmbH
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "CSS − Anspruchsvolle Websites mit Cascading Stylesheets" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

dpunkt.verlag GmbH, Ringstraße 19, 69115 Heidelberg