====== LU02c - Spezielle Selektoren ======
===== Universalselektor =====
Mit dem Universalselektor werden __alle__ HTML-Elemente auf einmal in einem Dokument markiert. Der Universalselektor wird mit dem Sternchen * notiert.
**Beispiel 1**\\
Der folgende Universal-Selektor setzt überall einen gepunkteten grünen Rahmen.
/* Grüner, gepunkteter Rahmen für alle Elemente */
* {
margin: 5px;
padding: 3px;
border: 2px dotted green;
text-align: center;
}
===== Attributselektor =====
HTML-Elemente können über ihre Attributnamen selektiert werden. In CSS muss der Attributnamen zwischen **eckigen Klammern** [ ] gesetzt werden.
{{:modul:m287:learningunits:lu02:attribut_selektor_1.png?600|}}
**Beispiel 1**\\
Dieser Attributselektor wird in einem HTML-Dokument um jedes HTML-Element, das ein title-Attribut besitzt, einen Rahmen zeichnen.
/* Styling für alle Elemente mit dem Attribut title */
[title] {
border: 4px solid black;
}
**Beispiel 2**\\
Dieser Attributselektor kann auch auf bestimmte HTML-Elemente angewendet werden. Im Beispiel unten selektiert der Attributselektor alle title-Attribute des -Elements.
/* Styling for alle a-Element mit dem Attribut title */
a[title] {
text-decoration: none;
color: red;
font-weight: bold;
border: 2px dotted red;
}
===== Attributselektor mit einem bestimmten Attributwert =====
Mit dem Attributselektor können Attribute mit einem bestimmten Wert selektiert werden. Es gibt drei Möglichkeiten einen bestimmten Attributwert auszuwählen:
| **Selektor** | **Bezecihnung** | **Auswahl** | **HTML-Beispiel** |
| [attr=wert] | Attributselektor (Attributwert) | jedes Element, bei dem das Attribut attr den Wert wert enthält | |
| [attr**~**=wert] | Attributselektor (Attributwert) mit Tilde (~) | jedes Element, bei dem im Attribut attr der Wert wert als allein stehendes Wort vorkommt | |
| [attr**|**=wert] | Attributselektor (Attributwert) mit Verkettungszeichen | jedes Element, bei dem im Attribut attr der Wert valx am Anfang als eine durch Bindestrich getrennte Zeichenfolge steht | |
**Beispiel 1**\\
/* Styling für alle HTML-Elemente wo title
den Attributwert deprecated besitzt
*/
[title=deprecated] {
color: red;
text-decoration: line-through;
}
**Beispiel 2**\\
/* Styling von HTML-Elemente wo title im
Attributwert das Wort "bzzlab" enthält
*/
[title~=bzzlab] {
font-weight: bold;
color: red;
}
**Beispiel 3**\\
/* Styling von HTML-Elemente wo hreflang
mit dem Attributwert de, gefolgt von
einem Bindestrich, beginnt
*/
[hreflang|=de] {
font-weight: bold;
color: red;
}
===== Attributselektor mit einem bestimmten Teilwert =====
In CSS3 wurden Attributselektoren erweitert, um auch Teilwerte auszuwählen. Dazu gibt es drei Attributselektoren tabellarisch dargestellt:
| **Selektor** | **Bezecihnung** | **Auswahl** | **HTML-Beispiel** |
| [attr**^**=wert] | Attributselektor (Teilwert) | jedes Element, bei dem das Attribut attr mit der Textfolge wert anfängt | |
| [attr**$**=wert] | Attributselektor (Teilwert) | jedes Element, bei dem das Attribut attr mit der Textfolge wert endet | |
| [attr*****=wert] | Attributselektor (Teilwert) | jedes Element, bei dem das Attribut attr mit der Textfolge wert enthält | |
**Beispiel 1**\\
/* Styling alle a-Elemente wo das Attribut href mit http:// beginnt */
a[href^="http://"] {
text-decoration: none;
border-bottom: 2px dotted red;
color: red;
}
**Beispiel 2**\\
/* Styling für a-Elemente wo das Attribut href mit .pdf endet */
a[href$=".pdf"] {
text-decoration: none;
color: red;
padding: 1px;
border: 2px dotted red;
}
**Beispiel 3**\\
/* Styling für a-Elemente wo im Attribut href die Textfolge mydomain enthalten ist */
a[href*=mydomain] {
font-weight: bold;
color: red;
}