CodeGym /Java Kurs /Frontend SELF DE /Pseudoelemente ::before und ::after

Pseudoelemente ::before und ::after

Frontend SELF DE
Level 30 , Lektion 1
Verfügbar

6.1 Die Eigenschaft content

Die Pseudoelemente ::before und ::after ermöglichen es, Inhalte vor und nach dem Inhalt eines Elements hinzuzufügen, ohne den HTML-Code zu verändern. Sie werden oft für dekorative Zwecke, die Verbesserung der Benutzeroberfläche und die Erstellung interaktiverer Webseiten verwendet.

Was sind ::before und ::after Pseudoelemente?

Die Pseudoelemente ::before und ::after erzeugen virtuelle Elemente, die entsprechend vor und nach dem Inhalt des ausgewählten Elements eingefügt werden. Diese Pseudoelemente werden häufig verwendet, um Icons, dekorative Elemente oder andere visuelle Effekte hinzuzufügen.

Syntax von before:

    
      selektor::before {
        content: "Text oder andere Werte";
        /* Styles */
      }
    
  

Syntax von after:

    
      selektor::after {
        content: "Text oder andere Werte";
        /* Styles */
      }
    
  

Die Eigenschaft content

Die Schlüssel-Eigenschaft für die Pseudoelemente ::before und ::after ist content. Diese Eigenschaft definiert den Inhalt des Pseudoelements. Es kann ein Textstring, ein Bild oder sogar ein leerer Wert sein, wenn nur ein visueller Effekt benötigt wird.

Mögliche Werte der content-Eigenschaft:

  • Text: "Text"
  • Bild: url("path/to/image.png")
  • Leerer Wert: ""
  • Attribute: attr(attributeName)
  • Zähler: counter(name)

6.2 Beispiele für die Verwendung von ::before und ::after

Hinzufügen dekorativer Elemente

Beispiel 1: Hinzufügen eines Icons vor Text

In diesem Beispiel wird das Pseudoelement ::before verwendet, um ein Icon vor den Text eines Links hinzuzufügen. margin-right fügt Platz zwischen dem Icon und dem Text ein:

CSS
    
      /* Hinzufügen eines Icons vor Text eines Links */

      a::before {
        content: "🔗";
        margin-right: 5px;
      }
    
  

Beispiel 2: Hinzufügen eines dekorativen Elements nach einem Absatz

In diesem Beispiel fügt das Pseudoelement ::after ein dekoratives Element nach einem Absatz hinzu. display: block und text-align: right werden verwendet, um das Element rechts auszurichten:

CSS
    
      /* Hinzufügen eines dekorativen Elements nach einem Absatz */

      p::after {
        content: "❦";
        display: block;
        text-align: right;
        color: red;
      }
    
  

Erstellen dekorativer Rahmen und Hintergründe

Beispiel 3: Dekorativer Rahmen um ein Element

In diesem Beispiel wird das Pseudoelement ::before verwendet, um einen dekorativen Streifen über dem Element div zu erstellen. position: absolute und top: -10px positionieren den Streifen über dem Element:

CSS
    
      /* Dekorativer Rahmen um ein Element */

      div::before {
        content: "";
        display: block;
        width: 100%;
        height: 10px;
        background-color: #3498db;
        position: absolute;
        top: -10px;
        left: 0;
      }
    
  

Beispiel 4: Automatisches Hinzufügen von Anführungszeichen

In diesem Beispiel werden die Pseudoelemente ::before und ::after verwendet, um Anführungszeichen um einen Zitatblock hinzuzufügen:

CSS
    
      /* Automatisches Hinzufügen von Anführungszeichen um ein Zitat */

      blockquote::before {
        content: "“";
        font-size: 2em;
        color: #ccc;
      }

      blockquote::after {
        content: "”";
        font-size: 2em;
        color: #ccc;
      }
    
  

Beispiel 5: Nummerierung der Überschriften

In diesem Beispiel wird das Pseudoelement ::before verwendet, um eine Nummer vor der Überschrift h2 hinzuzufügen. counter-increment erhöht den Zählerwert, und content: counter(section) fügt den aktuellen Zählerwert ein:

CSS
    
      /* Nummerierung der Überschriften */

      h2::before {
        counter-increment: section;
        content: counter(section) ". ";
        font-weight: bold;
      }
    
  

6.3 Anwendung und Stil von Pseudoelementen

Styling von Pseudoelementen

Pseudoelemente können wie andere Elemente gestylt werden. Sie unterstützen die meisten CSS-Eigenschaften, einschließlich Farbe, Hintergrund, Ränder, Größe und Positionierung.

Verwendung von Pseudoelementen für komplexe Layouts

Pseudoelemente werden oft verwendet, um dekorative Elemente in Layouts zu erstellen, wie Rahmen, Schatten und andere visuelle Effekte, ohne zusätzliche HTML-Elemente hinzuzufügen.

Beispiel: Jedes Listenelement hat einen blauen Marker vor dem Text:

CSS
    
      ul li::before {
        content: "•";
        color: blue;
        margin-right: 5px;
      }
    
  
HTML
    
      <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
      </ul>
    
  

6.4 Vollständige Implementierung

CSS
    
      /* Hinzufügen eines Icons vor Text eines Links */

      a::before {
        content: "🔗";
        margin-right: 5px;
      }

      /* Hinzufügen eines dekorativen Elements nach einem Absatz */

      p::after {
        content: "❦";
        display: block;
        text-align: right;
        color: red;
      }

      /* Dekorativer Rahmen um ein Element */

      .decorative-box {
        position: relative;
      }

      .decorative-box::before {
        content: "";
        display: block;
        width: 100%;
        height: 10px;
        background-color: #3498db;
        position: absolute;
        top: -10px;
        left: 0;
      }

      /* Automatisches Hinzufügen von Anführungszeichen um ein Zitat */

      blockquote::before {
        content: "“";
        font-size: 2em;
        color: #ccc;
      }

      blockquote::after {
        content: "”";
        font-size: 2em;
        color: #ccc;
      }

      /* Nummerierung der Überschriften */

      h2::before {
        counter-increment: section;
        content: counter(section) ". ";
        font-weight: bold;
      }
    
  
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 die Pseudoelemente ::before und ::after</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <a href="#">Link mit Icon</a>
          <p>Absatz mit dekorativem Element dahinter</p>
          <div class="decorative-box">Element mit dekorativem Rahmen</div>
          <blockquote>Zitat mit automatischen Anführungszeichen</blockquote>
          <h2>Überschrift mit Nummerierung</h2>
          <h2>Noch eine Überschrift</h2>
        </body>
      </html>
    
  
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION