CSS-Selektoren
CSS-Selektoren werden verwendet um HTML-Elemente zu "finden" (oder wählen) die gestylt werden. Man kann CSS Selektoren in 5 Kategorien unterteilen:Einfache Selektoren(Elemente basierend auf Name, ID, Klasse auswählen)
Kombinatoren(Elemente basierend auf einer bestimmten Beziehung zwischen ihnen auswählen)
Pseudoklassenselektoren(Elemente basierend auf einem bestimmten Zustand auswählen)
Pseudoelement-Selektoren (einen Teil eines Elements auswählen und formatieren)Attributselektoren (Elemente basierend auf einem Attribut oder Attributwert auswählen)
Auf dieser Seite werden die grundlegendsten CSS-Selektoren erläutert.
Was sind Pseudo-Klassen?
Ein Pseudo-Klasse definiert einen speziellen Status eines Elementes. Zum Beispiel kann es verwendet werden für: Style eines Elementes wenn der "User" mit der Maus darüberfährt. Style von unbesuchten und besuchten Links sind unterschiedlich. Style eines Elementes bei focus(wenn du mit der der Tabulatoren-Taste von Link zu Link springst).Syntax:
Der Syntax von Pseudo-Klassen:selector:pseudo-class {property: value;}
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| /* unbesuchter Link */ |
| a:link { |
| color: red; |
| } |
| /* besuchter Link */ |
| a:visited { |
| color: green; |
| } |
| /* Maus über Link */ |
| a:hover { |
| color: hotpink; |
| } |
| /* gewählter Link */ |
| a:active { |
| color: blue; |
| } |
| </style> |
| </head> |
| <body> |
| <h2>CSS Links</h2> |
| <p><b><a href="index.htm" target="_blank">Das ist ein Link</a></b></p> |
| <p><b>Bemerke:</b> a:hover kommt nach a:link und a:visited in der CSS-Reihenfolge um zu funktionieren.</p> |
| <p><b>Bemerke:</b> a:active kommt nach a:hover in der CSS-Reihenfolge um zu funktionieren.</p> |
| </body> |
| </html> |
Das Beispiel verwendet das :hover Pseudo-Klasse an einem <main> Element:
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| main { |
| background-color: green; |
| color: white; |
| padding: 25px; |
| text-align: center; |
| } |
| main:hover { |
| background-color: blue; |
| } |
| </style> |
| </head> |
| <body> |
| <p>Maus über main wird wechseln die Hintergrundfarbe:</p> |
| <main>Maus über mich !!!</main> |
| </body> |
| </html> |
Pseudo-Klassen können kombiniert werden mit CSS-Klassen:
Wenn du hoverst über den Link im Beispiel, er wird die Farbe wechseln:
Wenn du hoverst über den Link im Beispiel, er wird die Farbe wechseln:
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| a.highlight:hover { |
| color: #ff0000; |
| } |
| </style> |
| </head> |
| <body> |
| <h2>Pseudo-Klassen und CSS-Klassen</h2> |
| <p>Wenn du hoverst über den ersten Link, wird er die Farbe wechseln:</p> |
| <p><a class="highlight" href="index.htm">Startseite strassencoder.ch</a></p> |
| <p><a href="CSS-Selektor.htm">CSS Tutorial über Selektoren</a></p> |
| </body> |
| </html> |
Wenn du hoverst über das <main> Element wird das <p> Element (wie ein tooltip) angezeigt:
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| p { |
| display: none; |
| background-color: yellow; |
| padding: 20px; |
| } |
| main:hover p { |
| display: block; |
| } |
| </style> |
| </head> |
| <body> |
| <main>Hoverst du über <main> wird es dir das p-Element zeigen. |
| <p>Hier bin ich!</p> |
| </main> |
| </body> |
| </html> |
Das CSS Pseudo-Klasse :first-child repräsentiert das erste Element unter einer Gruppe von Geschwister-Elementen.
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| p:first-child { |
| color: blue; |
| } |
| </style> |
| </head> |
| <body> |
| <div> |
| <p>Hier ist einiger Text.</p> |
| <p>Hier ist einiger Text.</p> |
| </div> |
| </body> |
| </html> |
Das CSS Pseudo-Klasse :first-child repräsentiert das erste Element unter einer Gruppe von Geschwister-Elementen.
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| p i:first-child { |
| color: blue; |
| } |
| </style> |
| </head> |
| <body> |
| <p>Ich bin eine <i>starke</i> Person. Ich bin eine <i>starke</i> Person.</p> |
| <p>Ich bin eine <i>starke</i> Person. Ich bin eine <i>starke</i> Person.</p> |
| </body> |
| </html> |
Im unten gezeigten Beispiel befindet sich das <i> Element innerhalb des <p> Elementes und ist das erste Kinds-Element von <p>.
| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| p:first-child i { |
| color: blue; |
| } |
| </style> |
| </head> |
| <body> |
| <div> |
| <p>Ich bin eine <i>starke</i> Person. Ich bin eine <i>starke</i> Person.</p> |
| <p>Ich bin eine <i>starke</i> Person. Ich bin eine <i>starke</i> Person.</p> |
| </div> |
| </body> |
| </html> |