| Diese Seite demonstriert einige Möglichkeiten zur Adressierung (Auswahl) von Elementen, auf welche eine CSS-Regel angewendet werden soll. | Dazu stehen verschiedene Methoden einzeln und in Kombinationen zur Verfügung. Ihre Anwendung erfordert ein gewisses Verständnis des Document Object Models (DOM). |
CSS
|
Cascading Stylesheets |
| CSS & DOM | CSS im Document Object Model |
| Standard-Klassen | CSS-Klassen für Standard HTML-Elemente |
| Eigene CSS-Klassen | Definition und Anwendung eigener CSS-Klassen |
| id-Attribute | Anwendung auf einzelne id-entifizierte DOM-Elemente |
| Verkettung | Verkettung von Adressierungs-Regeln |
Document Object Model (DOM) |
|
|
Für das Verständnis einiger Begriffe sind Grundkenntnisse des Document
Object Model (DOM) notwendig. In diesem Modell sind alle Elemente eines Dokuments (z.B. Webseite) in einem streng hierarchischen Baum (tree) angeordnet. Es gibt mehrere Möglichkeiten, einzelne Elemente oder bestimmte Gruppen von Elementen auszuwählen - Hier zur Anwendung von CSS-Regeln. ● Position im ObjektbaumEin Element (z.B. Text, Bild, Button, Tabelle ...) wird durch Angabe des dorthin führenden Pfades festgelegt.Beispiel: Ausgehend von der Wurzel das zweite von 5 Elementen (Knoten), von diesem der erste von 3 Child-Knoten, usw. (kompliziert, selten verwendet). |
● ElementAlternativ kann man die Elemente nach Type (Text, Bild, Tabelle ...) zusammenfassen. Das macht es leicht, CSS-Regeln auf alle Elements eines Typs anzuwenden, z.B. auf alle <img>-Elemente (Bilder).Alternativ kann man die Elemente einzeln angeben, z.B. 'das vierte Bild' ● id-AttributJedem Element kann man ein eindeutiges id-Attribut zuweisen. Damit kann man es identifizieren und eine CSS-Regel anwenden. (zur individuellen Auswahl am besten geeignet)● KombinationAlle Varianten können kombiniert werden, um ein oder mehrere Elemente eines Dokuments zu adressieren. Jeder Gruppe adressierter Elemente können eigene CSS-Regeln zugewiesen werden. |
| ♦ Details zum Document Object Model (DOM) | |
CSS für Standard-Klassen |
|
|
Jedes Mitglied der →
XML-Familie (XML,
XHTML,
SVG, ...) und auch das klassische
HTML verfügt über eine
Reihe von Standard-Elementen. In HTML sind das z.B. <div>,
<form>, <p>, <pre>, <table> usw. in SVG sind das
z.B. <circle>, <rect>, <text> usw. Browser (und andere Programme) wenden auf alle Elemente eine vor-eingestellte Formatierung an. |
►
Durch Angabe eigener CSS-Regeln wird die Standard-Formatierung für die
betroffenen Elemente geändert. Die Änderung gilt für
jedes vorkommende Element im gesamten Gültigkeits-Bereich. ► Die selbst erstellte Regel ändert nur genau die angegebene Eigenschaft. Alle anderen Formatierungs-Regeln werden 'vererbt', d.h. unverändert übernommen. ► Jedes einzelne betroffene Element kann darüber hinaus indiviell formatiert werden. |
|
●
Im Beispiel rechts wird für das HTML <body>
Element die Schrift-Größe eingestellt. • Das hat große Reichweite, denn die meisten Eigenschaften von <body> werden auf die anderen Elemente der Webseite vererbt. • Auf jeder Webseite kommt zwar nur 1 <body> Element vor, diese CSS-Regel kann jedoch auf alle Seiten eines Webs angewendet werden. Damit kann man das Grund-Layout (Schrift, Farbe, Hintergrund, Abstände, ...) für ein ganzes Web zentral festlegen. |
Beispiel: Eigene CSS-Regel für
das <body> Element - und für alle seine
child-Elemente !
<style type="text/css" media="screen">
body{font-size:10pt;}
</style>
|
|
●
Die Standard-Formatierung setzt HTML <img>-Elemente (Bilder)
in einen dicken blauen Rahmen, wenn sie als HyperLink verwendet werden. Die rechts gezeigte CSS-Regel
löscht die Rahmen aller vorkommenden Bilder. Unabhängig davon ist es möglich, nachträglich einzelne Bilder mit beliebigen Rahmen zu versehen. |
Beispiel: Entfernung der Rahmen von allen <img> Bildern
<style type="text/css" media="screen">
img{border:0px;}
</style>
|
Bild als Link mit Standard-Formatierung![]() Bild als Link mit den gezeigten Regeln
|
Bild mit Link:
<a href="javascript:imgtest()">
Der HTML-Quellcode ist in beiden Fällen gleich, bei Anwendung der gezeigten
CSS-Regeln wird jedoch kein Rand angezeigt.
<img src="apache.png" /></a> |
| ● Die Standard-Formatierung legt meist eine vertikale Zentrierung für <tr> Tabellen-Reihen. Die gezeigte CSS-Regel ändert das für alle Reihen aller Tabellen auf vertikale Ausrichtung (Text beginnt oben, nicht in der Mitte). |
Beispiel: Vertikale Ausrichtung
von <tr> Tabellen-Zeilen
<style type="text/css" media="screen">
tr{vertical-align:top;}
</style>
|
|
So kann man an einer einzigen zentralen Stelle die Standard-Formatierung für viele oder alle Seiten eines Webs festlegen bzw. bei Bedarf rasch ändern. |
Dazu werden die CSS-Regeln in einer externen Stylesheet-Datei definiert, die mit einem HTML <link>-Element in jede Webseite eingebunden wird. |
|