Kombinatoren
...verketten zwei Selektoren miteinander. Durch diese Verkettung bildet der erste Teilselektor eine Bedingung und der zweite Teilselektor das Ziel.
Zwischen zwei Selektoren kann nur ein Kombinator stehen, jedoch kann an diese Kette ein weiterer Kombinator zusammen mit einem weiteren Teilselektor angehängt werden.
Die Bedeutung von kombinierten Selektoren ähnelt der von Pseudoklassen, ist jedoch allgemeiner.
Der Nachfahrenselektor: „Leerzeichen“ zwischen Elementen
Es wird der Nachfahre (em
Hier wird deutlich das <em> als Nachfahre von <ins> die Eigenschaft des Unterstriches behält. Es wurde nichts abweichendes notiert.
23 24 |
#contained ins { color: DarkRed; } /* vordefiniert mit Unterstrich */
|
64 65 66 |
<p>
|
Oder? Und wenn doch?
...
Es wird der Nachfahre (ins
Dass das jetzt ganz schön Frickelei wird, ist klar. Die Konstellation ist geändert. Element ins
ist jetzt im Element em
und verliehrt seinen Unterstrich, obwohl es im Elementenbaum als Nachfahre gelten sollte. Die CSS-Anweisung hat keine Kind-Deklaration (>), erhält aber deren Wirkung. Das sollte eigentlich Thema des Kindselektoren sein. Sind somit nur direkte Nachfahren gemeint? So lese ich das nicht!
25 |
#contained em ins { text-decoration: none; }
|
75 76 77 |
...
|
Innerhalb einfacher Konstruktionen wird man sicherlich den Überblick behalten.
Soll ein mehrfach verschachtelter Baum im Beispiel erstellt werden
und jetzt gebe ich keine Acht auf die semantische Auszeichnung,
wird die Darstellung SELFHTML: HTML-Elemente für logische Auszeichnung im Text
natürlich chaotisch. So macht das aber auch keiner!
Die Schrift [monospace] kennt die deutschen Anführungszeichen
nicht. Attributbedingte Formate
( wie: cite="Quelle">SELFHTML ) kommt später, gehört nicht hierher!
28 29 30 31 32 33 34 |
#contained var { color: Red; } /* vordefiniert kursiv */
|
85 86 87 88 89 90 91 92 93 |
<p>
|
Der Kindselektor: >
Da [em] bereits Nachfahre von [p] ist, soll Element [del](K) Nachfahre von [em](E) sein.
Das stimmt natürlich nicht, das Element wird als Kind von [em] durch „>“ selektiert.
Nur dem Kindelement werden die Eigenschaft erteilt. Ähnliches Verhalten war aber bereits innerhalb der
Baumstruktur, ins
37 38 |
#contained em > dfn { color: Red; }
|
103 104 105 106 107 108 |
<p>
|
Dass Elemente bereits eigene Eigenschaften mitbringen, zeige ich auf Seite:
Noch ein paar Spielchen erlaube ich mir: ich bin mark
40 41 42 43 |
#contained em > mark { font-weight: bold; }
|