JavaRush /Курсы /Модуль 1: Web Core /Абсолютное позиционирование

Абсолютное позиционирование

Модуль 1: Web Core
11 уровень , 3 лекция
Открыта

4.1 absolute positioning

Абсолютное позиционирование (absolute positioning) в CSS позволяет точно управлять расположением элементов на веб-странице. При использовании абсолютного позиционирования элемент удаляется из нормального потока документа и размещается относительно ближайшего позиционированного предка. Если такого предка нет, элемент будет позиционироваться относительно начального контейнера (обычно это <html> или <body>).

Основные особенности абсолютного позиционирования:

  1. Удаление из потока документа: абсолютно позиционированные элементы не влияют на другие элементы и не учитываются при расчете размеров родительских элементов.
  2. Относительное позиционирование: элементы располагаются относительно ближайшего предка с относительным (position: relative), абсолютным (position: absolute), фиксированным (position: fixed) или липким (position: sticky) позиционированием.
  3. Использование координат: свойства top, right, bottom и left используются для задания точного положения элемента.

Пример базового абсолютного позиционирования

Рассмотрим простой пример с абсолютным позиционированием элемента:

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>
    
  

В этом примере элемент .box позиционируется относительно родительского контейнера .container, который имеет position: relative;.

4.2 Создание наложений (оверлеев)

Абсолютное позиционирование часто используется для создания наложений, таких как модальные окна, всплывающие подсказки и лайтбоксы.

Пример абсолютного позиционирования:

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 Точные макеты и компоненты интерфейса

Абсолютное позиционирование полезно для создания точных макетов, таких как элементы управления в медиа-плеерах, пользовательские элементы управления и панели инструментов.

Пример абсолютного позиционирования:

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 Создание сложных макетов

Абсолютное позиционирование позволяет создавать сложные макеты, такие как информационные панели и интерактивные элементы.

Пример абсолютного позиционирования:

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>
    
  
1
Задача
Модуль 1: Web Core, 11 уровень, 3 лекция
Недоступна
Абсолютное позиционирование
Абсолютное позиционирование
1
Задача
Модуль 1: Web Core, 11 уровень, 3 лекция
Недоступна
Создание оверлея
Создание оверлея
Комментарии (2)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
No Name Уровень 36
23 мая 2025
Говорили что для абсолют нужно чтобы его родитель не был статичным, но ведь абсолют работает и тогда когда родитель статичный
RayCowperwood Уровень 48
24 мая 2025
если родитель статичный, то элемент с атрибутом абсолют будет работать НО - будет позиционироваться от ближайшего родственника с позицией relative. Если такого родственника нет - то будет позиционироваться относительно html/body/вюпорта (т.е будет позиционироваться от края браузера) если нету родителей с позицией НЕ статик