Attributselektoren
Mit Attribut-Selektoren in CSS wählst du HTML-Elemente anhand ihrer Attribute oder Attributwerte aus.
CSS Grundsyntax
1element[attribut] {
2 /* CSS-Regeln */
3}Element mit bestimmtem Attribut
Alle Input-Elemente mit dem Attribut type werden angesprochen.
HTML Elemente mit Attribut type
1<input type="text"><br>
2<input type="password">CSS
1input[type] {
2 border: 2px solid blue;
3}Ausgabe
Exakter Attributwert (=)
Alle Input-Elemente mit type="password" werden angesprochen. type="text" wird nicht angesprochen.
HTML Elemente mit Attribut type
1<input type="text"><br>
2<input type="password">CSS
1input[type="password"] {
2 background-color: lightyellow;
3}Ausgabe
Wert enthält ein bestimmtes Wort (~=)
Mit [class~="highlight"] sprichst du Elemente an, bei denen das Attribut class das einzelne Wort "highlight" enthält.
HTML
1<p class="text highlight">Hallo</p>
2<p class="highlight">Welt</p>CSS
1[class~="highlight"] {
2 color: orange;
3}Ausgabe
Hallo
Welt
Wert beginnt mit einem Wort oder Wort-Teil (|=)
Mit [lang|="de"] werden Elemente angesprochen, deren Wert genau "de" ist oder mit "de-" beginnt.
HTML
1<p lang="de">Deutsch</p>
2<p lang="de-CH">Schweizerdeutsch</p>
3<p lang="en">Englisch</p>CSS
1[lang|="de"] {
2 color: green;
3}Ausgabe
Deutsch
Schweizerdeutsch
Englisch
Wert beginnt mit bestimmtem Text (^=)
Mit ^= werden Elemente angesprochen, deren Attributwert mit einem bestimmten Text beginnt.
HTML
1<a href="https://example.com">Externer Link</a><br>
2<a href="/kontakt">Interner Link</a>CSS
1a[href^="https"] {
2 color: red;
3}Ausgabe
Wert endet mit bestimmtem Text ($=)
Mit $= werden Elemente angesprochen, deren Attributwert mit einem bestimmten Text endet.
HTML
1<a href="bild.jpg">JPG Bild</a><br>
2<a href="dokument.pdf">PDF Dokument</a>CSS
1a[href$=".pdf"] {
2 font-weight: bold;
3}Ausgabe
Wert enthält bestimmten Text (*=)
Mit *= werden Elemente angesprochen, deren Attributwert einen bestimmten Text enthält.
HTML
1<a href="/produkte/schuhe">Schuhe</a><br>
2<a href="/kontakt">Kontakt</a>CSS
1a[href*="produkte"] {
2 background-color: lightblue;
3}Groß- und Kleinschreibung ignorieren (i)
Mit dem Zusatz i wird beim Vergleich die Groß- und Kleinschreibung ignoriert.
HTML
1<input type="Email"><br>
2<input type="text">CSS
1input[type="email" i] {
2 border: 2px solid purple;
3}Ausgabe
Im nächsten Kapitel lernst du: Interaktions-Pseudoklassen (:hover, :focus, etc.)