CodeGym /Kursy /Frontend SELF PL /Kombinowanie pseudoklas

Kombinowanie pseudoklas

Frontend SELF PL
Poziom 30 , Lekcja 3
Dostępny

8.1 Podstawowe koncepcje

Kombinowanie pseudoklas i pseudoelementów w CSS pozwala na tworzenie mocnych i elastycznych selektorów do stylizacji elementów w zależności od ich stanu, struktury i zawartości. To otwiera wiele możliwości na tworzenie złożonych i dynamicznych stylów, które ulepszają interfejs użytkownika i doświadczenie w interakcji z witryną.

Podstawy kombinowania

Pseudoklasy

Pseudoklasy oznaczane są jednym dwukropkiem (:) i stosowane do elementów w zależności od ich stanu lub pozycji. Na przykład:

  • :hover — stosowany przy najechaniu kursorem na element
  • :first-child — wybiera pierwszy element potomny rodzica

Pseudoelementy

Pseudoelementy oznaczane są dwoma dwukropkami (::) i używane do stylizacji części elementów lub dodawania treści. Na przykład:

  • ::before — dodaje treść przed elementem
  • ::first-letter — stylizuje pierwszą literę elementu

Kombinowanie

Pseudoklasy i pseudoelementy można łączyć, aby tworzyć złożone selektory, które pozwalają stosować style do elementów w zależności od ich stanu i struktury.

Składnia:

    
      selektor:pseudoklasa::pseudoelement {
        właściwości: wartości;
      }
    
  

8.2 Kombinowanie dla interaktywności

Przykład 1: Stylizacja pierwszej litery przy najechaniu

W tym przykładzie pierwsza litera akapitu powiększa się i zmienia kolor na czerwony przy najechaniu kursorem na akapit:

CSS
    
      /* Stylizacja pierwszej litery akapitu przy najechaniu kursorem */

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

Przykład 2: Dodawanie zawartości przed linkiem przy fokusie

W tym przykładzie ikona jest dodawana przed linkiem i zmienia kolor na niebieski, kiedy link dostaje fokus:

CSS
    
      /* Dodawanie ikony przed linkiem przy fokusie */

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

8.3 Kombinowanie dla stylizacji struktury

Przykład 3: Stylizacja pierwszego akapitu wewnątrz div z dodaniem zawartości

W tym przykładzie pierwsza linia pierwszego akapitu wewnątrz div jest wyboldowana i zmienia kolor na zielony:

CSS
    
      /* Stylizacja pierwszej linii pierwszego akapitu wewnątrz div */

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

Przykład 4: Dodawanie elementu dekoracyjnego po ostatnim elemencie listy

W tym przykładzie element dekoracyjny jest dodawany po ostatnim elemencie listy i zmienia kolor na czerwony:

CSS
    
      /* Dodawanie elementu dekoracyjnego po ostatnim elemencie listy */

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

8.4 Kombinowanie dla złożonych warunków

Przykład 5: Stylizacja parzystych elementów listy przy najechaniu

W tym przykładzie parzyste elementy listy otrzymują jasnoszare tło i niebieski kolor tekstu przy najechaniu kursorem:

CSS
    
      /* Stylizacja parzystych elementów listy przy najechaniu kursorem */

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

Przykład 6: Stylizacja aktywnych linków, które już były odwiedzone

W tym przykładzie linki, które były odwiedzone i są w aktywnym stanie, zmieniają kolor na pomarańczowy i są podkreślone:

CSS
    
      /* Stylizacja aktywnych linków, które już były odwiedzone */

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

8.5 Przykład pełnej realizacji

CSS
    
      /* Stylizacja pierwszej linii pierwszego akapitu wewnątrz div */

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

      /* Dodawanie elementu dekoracyjnego po ostatnim elemencie listy */

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

      /* Stylizacja parzystych elementów listy przy najechaniu kursorem */

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

      /* Dodawanie ikony przed linkiem przy fokusie */

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

      /* Stylizacja pierwszej litery akapitu przy najechaniu kursorem */

      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>Przykład kombinowania pseudoklas i pseudoelementów</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <div>
            <p>To pierwszy akapit wewnątrz div.</p>
            <p>To drugi akapit wewnątrz div.</p>
          </div>
          <ul>
            <li>Element listy 1</li>
            <li>Element listy 2</li>
            <li>Element listy 3</li>
            <li>Element listy 4</li>
          </ul>
          <a href="#">Link z ikoną przy fokusie</a>
          <p>Najedź na ten akapit, aby zobaczyć efekt na pierwszej literze.</p>
        </body>
      </html>
    
  
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION