Class- und id-Attribute richtig einsetzen
(Auszug aus "CSS Kochbuch" von Christopher Schmitt)
Problem
Sie wollen wissen, wann am besten class-Attribute verwendet werden und wann besser id-Attribute. (Anmerkung: Die Attribute werden eingesetzt, um bestimmte Teile des Dokuments zu markieren; mit Hilfe der entsprechenden CSS-Selektoren können dann gezielt die markierten Abschnitte angesprochen werden.)
Lösung
Verwenden Sie class-Attribute, wenn die gleiche Stildefinition mehrere Male in einem Dokument benutzt werden soll. id-Attribute kommen zum Einsatz, wenn ein Stil nur auf ein einziges Element in einem Dokument angewandt werden soll.
Im folgenden Stylesheet benutzen wir die ID-Selektoren #banner, #sub_banner, #nav1, #nav2, #footer und #content; .title und .content sind Klassen-Selektoren:
body {
margin: 0;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: .75em;
padding: 0;
}
#banner {
margin-top: 0;
margin-bottom: 0;
background-color: #900;
border-bottom: solid 1px #000;
padding: 5px 5px 5px 10px;
line-height: 75%;
color: #fff;
}
#sub_banner {
background-color: #ccc;
border-bottom: solid 1px #999;
font-size: .8em;
font-style: italic;
padding: 3px 0 3px 10px;
}
#content {
position: absolute;
margin-left: 18%;
width: 40%;
top: 100px;
padding: 5px;
}
#nav1 {
position: absolute;
width: 30%;
left: 60%;
top: 100px;
padding: 5px;
}
#nav2 {
position: absolute;
padding: 5px 5px 5px 10px;
top: 100px;
width: 15%;
}
#footer {
text-align: center;
padding-top: 7em;
}
.warning {
font-weight: bold;
color: red;
}
.title {
font-size: 120%;
}
.content {
font-family: Verdana, Arial, sans-serif;
margin-left: 20px;
margin-right: 20px;
}
.footer {
font-size: 75%;
}
Hier sehen Sie die Verwendung der id- und class-Attribute im HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>CSS Kochbuch</title>
<link href="rezept-1-3.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<h1>CSS-Sammlung</h1>
<h2>Einige CSS-basierte Websites</h2>
</div>
<div id="content">
<h3>Titel für Seiteninhalt</h3>
<p class="title">Titel für Inhaltseintrag</p>
<p class="content">Hier kommt der Inhalt hin.</p>
</div>
<div id="navigation">
<h3>Listen</h3>
<a href="http://csscookbook.com/">Site anmelden</a><br />
<a href="http://csscookbook.com/">CSS-Ressourcen</a><br />
<a href="http://csscookbook.com/">RSS</a><br />
<h3>CSS Kochbuch-Themen</h3>
<a href="http://csscookbook.com/">Home</a><br />
<a href="http://csscookbook.com/">Über uns</a><br />
<a href="http://csscookbook.com/">Blog</a><br />
<a href="http://csscookbook.com/">Dienstleistungen</a><br />
</div>
<div id="blipverts">
<h3>Platz für Werbung</h3>
</div>
<div id="siteinfo">
<p class="footer">Copyright 2006</p>
</div>
</body>
</html>
Diskussion
Die ID-Selektoren (id="Wert") beziehen sich auf Attribute, die innerhalb des Dokumentenbaumes nur genau einmal vorkommen. Klassen-Selektoren (class="Wert") verweisen dagegen auf Attribute, die in der Webseite mehrfach verwendet werden können. Noch einmal zur Erinnerung: ID-Selektoren werden durch ein Doppelkreuz (#) gekennzeichnet, während Klassen-Selektoren mit einem Punkt (.) beginnen.
Daher werden ID-Selektoren auch hauptsächlich eingesetzt, um nur einmal im Dokument vorkommende Abschnitte anzusprechen. Im vorigen Beispiel kann man erkennen, wie die Seite in die folgenden Abschnitte unterteilt wurde:
- header (Kopfteil)
- content (Inhalt)
- navigation (Navigationselemente)
- blipverts (Werbebanner etc.)
- siteinfo (Informationen zur Website)
Durch die Zuweisung eigener id-Attribute können Designer diese Bereiche der Seite mit eigenen Stildefinitionen versehen, ohne dass diese Auswirkungen auf andere Teile der Seite haben. Dies geschieht durch die gemeinsame Verwendung von Nachkommen- und ID-Selektoren.
Im folgenden Beispiel erhalten die beiden h3-Elemente unterschiedliche CSS-Regeln:
#content h3 {
font-size: 2em;
font-weight: bold;
}
#navigation h3 {
font-size: 0.8em;
font-wieght: normal;
text-decoration: underline;
}
Siehe auch
Die CSS 2.1-Spezifikation zum Thema ID-Selektoren sowie die CSS 2.1-Spezifikation zum Thema Klassen-Selektoren.
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema CSS bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |
Copyright der deutschen Ausgabe © 2007 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "CSS Kochbuch" 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.
O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln