CodeGym /Kurse /Frontend SELF DE /Kombinieren von Pseudoklassen

Kombinieren von Pseudoklassen

Frontend SELF DE
Level 30 , Lektion 3
Verfügbar

8.1 Grundlegende Konzepte

Das Kombinieren von Pseudoklassen und Pseudoelementen in CSS ermöglicht das Erstellen von leistungsstarken und flexiblen Selektoren zur Stilgestaltung von Elementen abhängig von ihrem Zustand, ihrer Struktur und ihrem Inhalt. Dies eröffnet viele Möglichkeiten zur Erstellung komplexer und dynamischer Stile, die die Benutzeroberfläche und das Interaktionserlebnis mit der Webseite verbessern.

Grundlagen der Kombination

Pseudoklassen

Pseudoklassen werden durch ein Doppelpunkt (:) gekennzeichnet und auf Elemente abhängig von ihrem Zustand oder ihrer Position angewendet. Zum Beispiel:

  • :hover — wird angewendet, wenn der Mauszeiger über ein Element fährt
  • :first-child — wählt das erste Kindelement des Elternteils

Pseudoelemente

Pseudoelemente werden durch zwei Doppelpunkte (::) gekennzeichnet und zur Stilgestaltung von Teilen von Elementen oder zur Hinzufügung von Inhalten verwendet. Zum Beispiel:

  • ::before — fügt Inhalt vor einem Element hinzu
  • ::first-letter — stilisiert den ersten Buchstaben eines Elements

Kombinieren

Pseudoklassen und Pseudoelemente können kombiniert werden, um komplexe Selektoren zu erstellen, die es ermöglichen, Elemente abhängig von ihrem Zustand und ihrer Struktur zu gestalten.

Syntax:

    
      selektor:pseudoklasse::pseudoelement {
        eigenschaften: werte;
      }
    
  

8.2 Kombinieren für Interaktivität

Beispiel 1: Stilisierung des ersten Buchstabens bei Hover

In diesem Beispiel wird der erste Buchstabe eines Absatzes vergrößert und rot gefärbt, wenn der Mauszeiger über den Absatz fährt:

CSS
    
      /* Stil des ersten Buchstabens bei Hover über den Absatz */

      p:hover::first-letter {
        font-size: 2em;
        color: #e74c3c;
      }
    
  
HTML
    
      <p>Hover over this paragraph to see the first letter change.</p>
    
  

Beispiel 2: Hinzufügen von Inhalt vor einem Link bei Fokus

In diesem Beispiel wird ein Symbol vor einem Link hinzugefügt und blau gefärbt, wenn der Link den Fokus erhält:

CSS
    
      /* Hinzufügen eines Symbols vor einem Link bei Fokus */

      a:focus::before {
        content: "🔗 ";
        color: #3498db;
      }
    
  

8.3 Kombinieren für die Strukturierung

Beispiel 3: Stil des ersten Absatzes innerhalb eines div mit zusätzlichem Inhalt

In diesem Beispiel wird die erste Zeile des ersten Absatzes innerhalb eines div fett hervorgehoben und grün gefärbt:

CSS
    
      /* Stil der ersten Zeile des ersten Absatzes innerhalb eines div */

      div p:first-child::first-line {
        font-weight: bold;
        color: #2ecc71;
      }
    
  

Beispiel 4: Hinzufügen eines dekorativen Elements nach dem letzten Listenelement

In diesem Beispiel wird ein dekoratives Element nach dem letzten Listenelement hinzugefügt und rot gefärbt:

CSS
    
      /* Hinzufügen eines dekorativen Elements nach dem letzten Listenelement */

      ul li:last-child::after {
        content: "❦";
        display: inline-block;
        margin-left: 10px;
        color: #e74c3c;
      }
    
  

8.4 Kombinieren für komplexe Bedingungen

Beispiel 5: Stil der geraden Listenelemente bei Hover

In diesem Beispiel erhalten gerade Listenelemente einen hellgrauen Hintergrund und blaue Schriftfarbe, wenn der Mauszeiger darüber fährt:

CSS
    
      /* Stil der geraden Listenelemente bei Hover über den Cursor */

      ul li:nth-child(even):hover {
        background-color: #f0f0f0;
        color: #3498db;
      }
    
  

Beispiel 6: Stil der aktiven Links, die bereits besucht wurden

In diesem Beispiel werden bereits besuchte Links, die sich im aktiven Zustand befinden, orange gefärbt und unterstrichen:

CSS
    
      /* Stil der aktiven Links, die bereits besucht wurden */

      a:visited:active {
        color: #e67e22;
        text-decoration: underline;
      }
    
  

8.5 Beispiel für eine vollständige Implementierung

CSS
    
      /* Stil der ersten Zeile des ersten Absatzes innerhalb eines div */

      div p:first-child::first-line {
        font-weight: bold;
        color: #2ecc71;
      }

      /* Hinzufügen eines dekorativen Elements nach dem letzten Listenelement */

      ul li:last-child::after {
        content: "❦";
        display: inline-block;
        margin-left: 10px;
        color: #e74c3c;
      }

      /* Stil der geraden Listenelemente bei Hover über den Cursor */

      ul li:nth-child(even):hover {
        background-color: #f0f0f0;
        color: #3498db;
      }

      /* Hinzufügen eines Symbols vor einem Link bei Fokus */

      a:focus::before {
        content: "🔗 ";
        color: #3498db;
      }

      /* Stil des ersten Buchstabens bei Hover über den Absatz */

      p:hover::first-letter {
        font-size: 2em;
        color: #e74c3c;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Beispiel für das Kombinieren von Pseudoklassen und Pseudoelementen</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <div>
            <p>Das ist der erste Absatz innerhalb eines div.</p>
            <p>Das ist der zweite Absatz innerhalb eines div.</p>
          </div>
          <ul>
            <li>Listenelement 1</li>
            <li>Listenelement 2</li>
            <li>Listenelement 3</li>
            <li>Listenelement 4</li>
          </ul>
          <a href="#">Link mit Symbol bei Fokus</a>
          <p>Fahre über diesen Absatz, um den Effekt auf dem ersten Buchstaben zu sehen.</p>
        </body>
      </html>
    
  
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION