CSS - Attribut-Selektoren: Die Macht der präzisen Gestaltung entfesseln
Hallo da draußen, zukünftige CSS-Zauberer! Heute tauchen wir ein in die magische Welt der CSS-Attribut-Selektoren. Setzen Sie sich an den Computer, denn wir stehen vor einer Reise, die Ihre Art, Webseiten zu gestalten, verändern wird. Als Ihr freundlicher Nachbarschafts-Computerlehrer bin ich hier, um Sie mit vielen Beispielen, Erklärungen und vielleicht sogar ein paar väterlichen Witzen durch dieses Abenteuer zu führen. Los geht's!
Beschreibung
Bevor wir ins tiefe Wasser springen, lassen Sie uns über Attribut-Selektoren sprechen und warum sie so toll sind. Stellen Sie sich vor, Sie sind auf einer riesigen Party (das HTML-Dokument) und Sie möchten alle Menschen finden, die rote Schuhe tragen (Elemente mit einem bestimmten Attribut). Attribut-Selektoren sind wie Ihr persönlicher Partyspürhund, der Ihnen hilft, genau das zu finden, wonach Sie suchen, ohne die ganze Menge zu stören.
In CSS ermöglichen uns Attribut-Selektoren, HTML-Elemente basierend auf ihren Attributen oder Attributwerten zu målsteuern. Das gibt uns unglaubliche Flexibilität und Präzision in unserer Gestaltung, ohne dass wir zusätzliche Klassen oder IDs benötigen. Es ist wie ein Schweizer Army-Messer für Ihr CSS – vielseitig, präzise und oh-so-handlich!
Nun, lassen Sie uns die verschiedenen Arten von Attribut-Selektoren erkunden,好不好?
CSS [attribut] Selektor
Der einfachste Attribut-Selektor ist der [attribut]
Selektor. Er målsteuert jedes Element, das das angegebene Attribut hat, unabhängig von seinem Wert.
<a href="https://www.example.com">Klicke mich!</a>
<a>Ich bin nur Text</a>
<style>
[href] {
color: blau;
text-decoration: none;
}
</style>
In diesem Beispiel wird nur der erste Link blau und verliert seine Unterstreichung, weil er das href
Attribut hat. Der zweite <a>
-Tag bleibt unverändert. Es ist, als ob Sie alle Partygäste mit Namensschildern finden, unabhängig von ihren Namen!
CSS [attribut="value"] Selektor
Wenn Sie spezifischer sein möchten, kommt der [attribut="value"]
Selektor zur Rettung. Er målsteuert Elemente, bei denen das Attribut genau dem angegebenen Wert entspricht.
<input type="text" placeholder="Geben Sie Ihren Namen ein">
<input type="password" placeholder="Geben Sie Ihr Passwort ein">
<style>
[type="password"] {
border: 2px solid rot;
}
</style>
Hier wird nur das Passwort-Feld einen roten Rand haben. Es ist, als ob Sie alle VIPs auf der Party mit goldenen Armbändern finden!
CSS [attribut*="value"] Selektor
Der [attribut*="value"]
Selektor ist wie ein Bluthund – er schnüffelt jedes Element aus, bei dem der Attributwert die angegebene Teilzeichenkette enthält, überall darin.
<p title="Ich liebe CSS">Absatz 1</p>
<p title="HTML ist cool">Absatz 2</p>
<p title="JavaScript rocks">Absatz 3</p>
<style>
[title*="CSS"] {
font-weight: fett;
}
</style>
In diesem Fall wird nur "Absatz 1" fett, weil sein Titel "CSS" enthält. Es ist, als ob Sie jeden auf der Party finden, dessen Name "Smith" enthält, sei es John Smith, Smithson oder Blacksmith!
CSS [attribut^="value"] Selektor
Der [attribut^="value"]
Selektor ist wählerisch – er målsteuert nur Elemente, bei denen der Attributwert mit dem angegebenen Wert beginnt.
<a href="https://www.example.com">HTTPS Link</a>
<a href="http://www.example.com">HTTP Link</a>
<style>
[href^="https"] {
color: grün;
}
</style>
Nur der HTTPS-Link wird grün. Es ist, als ob Sie alle Partygäste finden, deren Namen mit "A" beginnen!
CSS [attribut$="value"] Selektor
Umgekehrt målsteuert der [attribut$="value"]
Selektor Elemente, bei denen der Attributwert mit dem angegebenen Wert endet.
<a href="document.pdf">PDF-Dokument</a>
<a href="image.jpg">JPG-Bild</a>
<style>
[href$=".pdf"] {
background-color: gelb;
}
</style>
Der PDF-Link erhält eine gelbe Hintergrundfarbe. Es ist, als ob Sie alle Partygäste finden, deren Nachnamen auf "son" enden!
CSS [attribut|="value"] Selektor
Der [attribut|="value"]
Selektor ist etwas einzigartig. Er målsteuert Elemente, bei denen der Attributwert genau "value" ist oder mit "value" beginnt, gefolgt von einem Bindestrich.
<p lang="en">Englisch</p>
<p lang="en-US">Amerikanisches Englisch</p>
<p lang="fr">Französisch</p>
<style>
[lang|="en"] {
font-style: kursiv;
}
</style>
Sowohl "Englisch" als auch "Amerikanisches Englisch" werden kursiv. Es ist perfekt für sprachspezifische Gestaltungen!
CSS [attribut~="value"] Selektor
Der [attribut~="value"]
Selektor målsteuert Elemente, bei denen der Attributwert die angegebene Wort enthält, umgeben von Leerzeichen.
<p class="fruit apple">Apfel</p>
<p class="fruit orange">Orange</p>
<p class="vegetable carrot">Karotte</p>
<style>
[class~="fruit"] {
color: purpur;
}
</style>
Sowohl "Apfel" als auch "Orange" werden purpurfarben. Es ist, als ob Sie alle Partygäste finden, die "Tänzer" als eines ihrer Hobbys haben!
Attribut-Selektoren für href Links
Attribut-Selektoren sind besonders nützlich für die Gestaltung von Links basierend auf ihren Zielen:
<a href="https://www.example.com">Externer Link</a>
<a href="/internal-page">Interner Link</a>
<a href="document.pdf">PDF-Dokument</a>
<style>
a[href^="https"] {
color: grün;
}
a[href^="/"] {
color: blau;
}
a[href$=".pdf"] {
color: rot;
}
</style>
Dieser Code gibt externe Links, interne Links und PDF-Links不同的颜色。
Attribut-Selektoren für Inputs
Attribut-Selektoren glänzen, wenn man mit Formular-Eingaben arbeitet:
<input type="text" required>
<input type="email">
<input type="checkbox" checked>
<style>
input[required] {
border: 2px solid rot;
}
input[type="email"] {
background-color: hellblau;
}
input[checked] {
outline: 2px solid grün;
}
</style>
Diese Gestaltung lässt erforderliche Felder hervorstechen, gibt E-Mail-Eingaben einen hellblauen Hintergrund und hebt markierte Kästchen hervor.
Attribut-Selektoren für Titel
Wir können Attribut-Selektoren verwenden, um Elemente basierend auf ihren Titel-Attributen zu gestalten:
<div title="Wichtig">Dies ist wichtig</div>
<div title="Mehr lesen">Klicken, um zu erweitern</div>
<style>
[title="Wichtig"] {
font-weight: fett;
color: rot;
}
[title*="mehr"] {
cursor: Zeiger;
text-decoration: unterstrichen;
}
</style>
Dies lässt wichtigen Inhalt hervorstechen und zeigt anklickbare Elemente an.
Attribut-Selektoren für Sprache
Sprachspezifische Gestaltung ist mit Attribut-Selektoren ein Kinderspiel:
<p lang="en">Hallo, Welt!</p>
<p lang="es">¡Hola, Mundo!</p>
<p lang="fr">Bonjour, le Monde!</p>
<style>
[lang="en"] {
font-family: 'Arial', sans-serif;
}
[lang="es"] {
font-style: kursiv;
}
[lang="fr"] {
font-weight: fett;
}
</style>
Dies wendet不同的样式于不同语言的内容。
CSS Multiple Attribut-Selektoren
Sie können mehrere Attribut-Selektoren kombinieren für eine noch präzisere Zielsteuerung:
<a href="https://www.example.com" target="_blank" rel="noopener">Sicherer Externer Link</a>
<a href="https://www.example.com">Regelmäßiger Externer Link</a>
<style>
a[href^="https"][target="_blank"] {
color: grün;
text-decoration: none;
}
</style>
Dies gestaltet nur externe Links, die in einem neuen Tab geöffnet werden.
CSS Attribut-Selektoren mit Geschwister-Combinator
Attribut-Selektoren können mit anderen Selektoren kombiniert werden für eine fortgeschrittene Gestaltung:
<label for="name">Name:</label>
<input id="name" type="text" required>
<span class="error">Bitte geben Sie Ihren Namen ein</span>
<style>
input[required] + span.error {
display: none;
color: rot;
}
input[required]:invalid + span.error {
display: inline;
}
</style>
Dies zeigt eine Fehlermeldung neben erforderlichen Feldern nur an, wenn sie ungültig sind.
Und das war's, Leute! Ein umfassender Leitfaden zu CSS-Attribut-Selektoren. Denken Sie daran, Übung macht den Meister, also fürchten Sie sich nicht, diese Selektoren in Ihren Projekten auszuprobieren. Sie sind wie geheime Zutaten, die Ihr CSS von gut zu großartig machen können!
Bevor wir aufhören, hier ist eine praktische Tabelle, die alle Attribut-Selektoren zusammenfasst, die wir behandelt haben:
Selektor | Beispiel | Beschreibung |
---|---|---|
[attribut] | [href] | Wählt Elemente mit dem angegebenen Attribut aus |
[attribut="value"] | [type="text"] | Wählt Elemente mit dem angegebenen Attribut und Wert aus |
[attribut*="value"] | [title*="hello"] | Wählt Elemente, deren Attributwert die angegebene Teilzeichenkette enthält |
[attribut^="value"] | [href^="https"] | Wählt Elemente, deren Attributwert mit der angegebenen Teilzeichenkette beginnt |
[attribut$="value"] | [href$=".pdf"] | Wählt Elemente, deren Attributwert mit der angegebenen Teilzeichenkette endet |
[attribut | ="value"] | [lang |
[attribut~="value"] | [class~="highlight"] | Wählt Elemente, deren Attributwert die angegebene Wort enthält |
Happy Coding und möge der Selektor mit Ihnen sein!
Credits: Image by storyset