CodeGym /Cursos /Frontend SELF PT /Posicionamento absoluto

Posicionamento absoluto

Frontend SELF PT
Nível 21 , Lição 3
Disponível

4.1 absolute positioning

O posicionamento absoluto (absolute positioning) no CSS permite controlar exatamente onde colocar os elementos na página web. Quando você usa o posicionamento absoluto, o elemento é retirado do fluxo normal do documento e é posicionado em relação ao ancestro posicionado mais próximo. Se não houver tal ancestro, o elemento será posicionado em relação ao container inicial (geralmente é o <html> ou <body>).

Principais características do posicionamento absoluto:

  1. Remoção do fluxo do documento: os elementos posicionados de forma absoluta não afetam outros elementos e não são considerados ao calcular os tamanhos dos elementos pai.
  2. Posicionamento relativo: os elementos são posicionados em relação ao ancestral mais próximo com posicionamento relativo (position: relative), absoluto (position: absolute), fixo (position: fixed) ou sticky (position: sticky).
  3. Uso de coordenadas: as propriedades top, right, bottom e left são usadas para definir a posição exata do elemento.

Exemplo básico de posicionamento absoluto

Vamos dar uma olhada em um exemplo simples de posicionamento absoluto de um elemento:

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>
    
  

Nesse exemplo, o elemento .box é posicionado em relação ao contêiner pai .container, que tem position: relative;.

4.2 Criando overlays

O posicionamento absoluto é frequentemente usado para criar overlays, como janelas modais, tooltips e lightboxes.

Exemplo de posicionamento absoluto:

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 Layouts precisos e componentes de interface

O posicionamento absoluto é útil para criar layouts precisos, como controles de mídia players, elementos de controle personalizados e barras de ferramentas.

Exemplo de posicionamento absoluto:

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 Criando layouts complexos

O posicionamento absoluto permite a criação de layouts complexos, como painéis de informação e elementos interativos.

Exemplo de posicionamento absoluto:

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>
    
  
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION