Skip to content

Commit 836ec3e

Browse files
committed
new illustrations for dom + selectors, selector demo
1 parent f8a82d0 commit 836ec3e

26 files changed

+369
-105
lines changed

content/css-layout/selektoren.md

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Es gibt noch eine Hand voll weiterer Pseudo Classes:
7272

7373

7474
<css>
75-
li:first-child { color: yellow; }
75+
:first-child { color: yellow; }
7676
</css>
7777

7878

@@ -82,11 +82,15 @@ Es gibt noch eine Hand voll weiterer Pseudo Classes:
8282
Has Pseudo Class
8383
-------
8484

85-
Die Pseudo Class `:has()` ist die Umkehrung des Descendant Selectors: Mit `div:has(a)` wird der `div` Tag selektiert, falls er einen `a` Tag als Nachkommen hat.
85+
Die Pseudo Class `:has()` ist die Umkehrung des Descendant Selectors: Mit `section:has(a)` wird der `section` Tag selektiert, falls er einen `a` Tag als Nachkommen hat.
8686

8787
![Document Object Model und has psuedo class](/images/css/selector-has.png)
8888

89-
In `:has(...)` kann man auch kompliziertere Selektoren verwenden, zum Beispiel `select:has(option[value=""]:checked)`. Hier wird ein Select-Tag selektiert, falls von seinen optionen diejenige ausgewählt ist, die den Leeren Wert hat. Siehe [Demo](/images/css/example-has.html).
89+
90+
§
91+
Innerhalb von has kann man auch kompliziertere Selektoren verwenden, zum Beispiel `select:has(option[value=""]:checked)`
92+
93+
Hier wird ein Select-Tag selektiert, falls von seinen optionen diejenige ausgewählt ist, die den Leeren Wert hat. Siehe [Demo](/images/css/example-has.html)
9094

9195

9296
<htmlcode>
@@ -104,43 +108,29 @@ select:has(option[value=""]:checked) {
104108
</htmlcode>
105109

106110

107-
Adjacent selector
108-
---------
109-
110-
Dieser Selector wählt das direkte Geschwister-Node aus.
111-
112-
<css>
113-
p + h1 { color: yellow; }
114-
li + li { color: yellow; }
115-
</css>
116-
117-
118-
![Document Object Model und Selektor](/images/css-layout/selector-adj.png)
119-
120-
121111

122112
Kombinationen von Selektoren
123113
---------
124114

125115
Wenn man mehrere Selektoren kombiniert hat das Komma die geringste Präzedenz:
126116

127117
<css>
128-
p, div a { color: yellow; }
118+
p, section a { color: yellow; }
129119
</css>
130120

121+
Diesen Selektor liest mal als: entweder wird der Absatz p selektiert, oder ein a innerhalb einer Section. (und nicht: es wird ein Link selektiert, der entweder in einem Absatz oder einer Section ist)
131122

132123
![Document Object Model und Selektor](/images/css-layout/selector-precedence.png)
133124

134125

135-
Neu 2024: `has()`
136-
--------------
137126

138127

139128

140129
CSS Selektoren Üben
141130
-------
142131

143132

133+
* [Selektor Demo](/images/css/selectors/vis.html) - mit dieser Seite wurden die Illustrationen erstellt
144134
* [css diner - css üben mit japanischem essen](http://flukeout.github.io/)
145135
* [try selectors - von w3schools](https://www.w3schools.com/cssref/trysel.asp)
146136

content/css/basic-selectors.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Type Selector
3232
zum Beispiel wählt `li` alle Listen-Elemente aus:
3333

3434
<css>
35-
li { color: red; }
35+
li { color: yellow; }
3636
</css>
3737

3838

@@ -48,7 +48,7 @@ oder `h2`, oder `a`:
4848

4949

5050
<css>
51-
h1,h2,a { color: red; }
51+
h1,h2,a { color: yellow; }
5252
</css>
5353

5454

@@ -66,12 +66,12 @@ geschrieben.
6666

6767

6868
Im Beispiel unten werden alle `a` Tags ausgewählt, die Nachkomme
69-
eines `div` sind:
69+
eines `section` sind:
7070

71-
Achtung: `div` wird nur zur Auswahl benützt, wird aber selber nicht ausgewählt!
71+
Achtung: `section` wird nur zur Auswahl benützt, wird aber selber nicht ausgewählt!
7272

7373
<css>
74-
div a { color: red; }
74+
section a { color: yellow; }
7575
</css>
7676

7777

@@ -81,43 +81,43 @@ Achtung: `div` wird nur zur Auswahl benützt, wird aber selber nicht ausgewählt
8181
Verschachteltes CSS
8282
-------------------
8383

84-
(Neu in 2023)
85-
8684
Auch hier wird ein Element ausgewählt, das Nachkomme eines anderen Elements ist.
8785

88-
Achtung: `div` wird nur zur Auswahl benützt, wird aber selber nicht ausgewählt!
86+
Achtung: `section` wird nur zur Auswahl benützt, wird aber selber nicht ausgewählt!
8987

9088
<css>
91-
div {
89+
section {
9290
& a {
93-
color: red;
91+
color: yellow;
9492
}
9593
}
9694
</css>
9795

9896
![Document Object Model und Selektor](/images/css/selector-desc.png)
9997

100-
Praktisch: man kann die Deklarationen für `div` auch mit
98+
§
99+
100+
Praktisch: man kann die Deklarationen für `section` auch mit
101101
rein schreiben:
102102

103103
<css>
104-
div {
104+
section {
105105
border: 1px gray solid;
106106
padding: 10px;
107107
& a {
108-
color: red;
108+
color: yellow;
109109
}
110110
}
111111
</css>
112112

113113
Und man kann das kaufmännische Und weglassen:
114114

115115
<css>
116-
div {
116+
section {
117117
border: 1px gray solid;
118118
padding: 10px;
119119
a {
120-
color: red;
120+
color: yellow;
121121
}
122122
}
123123
</css>
@@ -168,4 +168,5 @@ Die Pseudo-Klassen `:hover` und `:active` gelten bevor ein Link wirklich gelade
168168
Und noch viel mehr
169169
-----------
170170

171-
Im Kapitel [CSS Selektoren im Detail](/css-layout/selektoren/) geht es weiter.
171+
* Im Kapitel [CSS Selektoren im Detail](/css-layout/selektoren/) geht es weiter.
172+
* [Selektor Demo](/images/css/selectors/vis.html) - mit dieser Seite wurden die Illustrationen erstellt
-20.2 KB
Loading
82 KB
Loading
-19.7 KB
Loading
92.5 KB
Loading
-13 KB
Loading
114 KB
Loading
9.25 KB
Loading
144 KB
Loading

0 commit comments

Comments
 (0)