CodeGym /Kursy /Frontend SELF PL /Pozycjonowanie absolutne

Pozycjonowanie absolutne

Frontend SELF PL
Poziom 21 , Lekcja 3
Dostępny

4.1 absolute positioning

Pozycjonowanie absolutne (absolute positioning) w CSS pozwala precyzyjnie kontrolować pozycję elementów na stronie internetowej. Gdy używasz pozycjonowania absolutnego, element jest usuwany z normalnego przepływu dokumentu i umieszczany względem najbliższego pozycjonowanego przodka. Jeśli takiego przodka nie ma, element będzie pozycjonowany względem początkowego kontenera (zwykle <html> lub <body>).

Główne cechy pozycjonowania absolutnego:

  1. Usunięcie z przepływu dokumentu: absolutnie pozycjonowane elementy nie wpływają na inne elementy i nie są brane pod uwagę przy obliczaniu rozmiarów elementów nadrzędnych.
  2. Pozycjonowanie wzgledem: elementy są umieszczane względem najbliższego przodka z pozycjonowaniem względnym (position: relative), absolutnym (position: absolute), stałym (position: fixed) lub klejowym (position: sticky).
  3. Użycie koordynatów: właściwości top, right, bottom i left są używane do ustalenia dokładnej pozycji elementu.

Przykład podstawowego pozycjonowania absolutnego

Przeanalizujmy prosty przykład z absolutnym pozycjonowaniem elementu:

CSS
    
      .container {
        position: relative;
        width: 300px;
        height: 300px;
        background-color: lightgrey;
      }

      .box {
        position: absolute;
        top: 50px;
        left: 50px;
        width: 100px;
        height: 100px;
        background-color: deepskyblue;
      }
    
  
HTML
    
      <div class="container">
        <div class="box">Absolute Box</div>
      </div>
    
  

W tym przykładzie element .box jest pozycjonowany względem elementu nadrzędnego .container, który ma position: relative;.

4.2 Tworzenie nakładek (overlayów)

Pozycjonowanie absolutne jest często używane do tworzenia nakładek, takich jak okna modalne, podpowiedzi i lightboxy.

Przykład pozycjonowania absolutnego:

CSS
    
      .wrapper {
        min-height: 300px;
      }

      .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
      }

      .modal {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: white;
        padding: 20px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
      }
    
  
HTML
    
      <div class="wrapper">
        <div class="overlay">
          <div class="modal">
            <p>Modal Content</p>
          </div>
        </div>
      </div>
    
  

4.3 Dokładne układy i komponenty interfejsu

Pozycjonowanie absolutne jest przydatne do tworzenia dokładnych układów, takich jak elementy sterujące w odtwarzaczach multimedialnych, niestandardowe elementy sterujące i paski narzędzi.

Przykład pozycjonowania absolutnego:

CSS
    
      .player {
        position: relative;
        width: 400px;
        height: 50px;
        background-color: #333;
        color: white;
      }

      .play-button {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
      }

      .volume-control {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
      }
    
  
HTML
    
      <div class="player">
        <div class="play-button">Play</div>
        <div class="volume-control">Volume</div>
      </div>
    
  

4.4 Tworzenie skomplikowanych układów

Pozycjonowanie absolutne umożliwia tworzenie skomplikowanych układów, takich jak panele informacyjne i interaktywne elementy.

Przykład pozycjonowania absolutnego:

CSS
    
      .dashboard {
        position: relative;
        width: 800px;
        height: 600px;
        background-color: #f0f0f0;
      }

      .sidebar {
        position: absolute;
        top: 0;
        left: 0;
        width: 200px;
        height: 100%;
        background-color: #333;
        color: white;
      }

      .main-content {
        position: absolute;
        top: 0;
        left: 200px;
        width: calc(100% - 200px);
        height: 100%;
        background-color: #fff;
      }
    
  
HTML
    
      <div class="dashboard">
        <div class="sidebar">Sidebar</div>
        <div class="main-content">Main Content</div>
      </div>
    
  
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION