HTML + CSS
  • 🧑‍💻Full-Stack Web Developer
  • ‼️Список корисних ресурсів
  • 📚Теорія
    • 1️⃣HTML
      • Введення в веб-розробку
      • Теги та атрибути
      • Скелет документа HTML
      • Семантика
      • Розмітка тексту
      • Розмітка тексту (2 частина)
      • Зображення
      • Структура HTML-документа
      • Таблиці
      • Символьні підстановки
      • Таблиця кодів символів
      • Відео та аудіо
      • Інструменти розробника
      • Валідація
    • 2️⃣CSS та селектори
      • CSS
      • Селектори
      • Псевдокласи стану
      • Колір
      • Каскад стилів
      • CSS-змінні
      • Одиниці вимірювання
      • Стилізація тексту
      • Властивості шрифту
      • Псевдоелементи тексту
      • Підключення сторонніх шрифтів
    • 3️⃣Блокова модель
      • Основи блокової моделі
      • Геометрія елемента
      • Типи елементів
      • Структурні псевдокласи
    • 4️⃣Flexbox
      • Концепції
      • Властивості контейнера
      • Властивості елемента
    • 5️⃣Grid
    • 6️⃣Зображення і декор
      • Типи зображень
      • Фон елемента
      • Властивості object-fit і object-position
      • Псевдоелементи
      • Градієнт
      • Тінь елемента
    • 7️⃣Векторна графіка
      • Що таке векторна графіка
      • SVG-елементи
      • SVG-документ
      • Використання векторної графіки
      • Зміна властивостей в SVG
    • 8️⃣Позиціонування
      • Позиційовані елементи
      • Властивість z-index
      • Властивість overflow
    • 9️⃣Переходи і анімація
      • CSS-переходи
      • CSS-анімація
      • 2D-трансформації
      • Перспектива
    • 🔟Форми
      • Для чого потрібні форми
      • Елемент <form>
      • Елемент <label>
      • Елемент <input>
      • Елемент <textarea>
      • Елемент <select>
      • Елемент <datalist>
      • Групування полів
      • Валідація форм
      • Валідація на клієнті
      • Псевдокласи стану
    • 🐭Адаптивна верстка
      • Медіа-запити
      • Метатег viewport
      • Інструменти розробника для адаптивної та респонсивної верстки
      • Типи верстки
      • Стратегія Mobile First
      • Вендорні префікси
      • Налаштування теми
    • 🐹Адаптивна графіка
      • Щільність пікселів
      • Респонсивні зображення
      • Респонсивні фонові зображення
      • Респонсивний елемент <img>
      • Елемент <picture>
    • 🦁Методологія ВЕМ
    • 🐶Препроцесор SASS
    • 🐰CSS фреймворки
      • Що таке CSS фреймворки
  • 👷‍♂️Практика
    • 👷Практика
  • Про мене
    • Про мене
Powered by GitBook
On this page
  • Статичне позиціювання
  • Властивість position
  • Відносне позиціювання
  • Абсолютне позиціювання
  • Фіксоване позиціювання
  • Липке позиціювання
  1. Теорія
  2. Позиціонування

Позиційовані елементи

PreviousПозиціонуванняNextВластивість z-index

Last updated 1 year ago

У веб-розробці позиціювання елементів - це техніка, яка дозволяє контролювати розташування та розмір елементів на сторінці. Зазвичай це використовується в CSS для HTML-елементів.

Звичайний потік документу відбувається зліва-направо і згори-вниз. Техніка позиціювання дозволяє підняти елементи над потоком і розмістити їх за новим правилом відносно іншого елемента або навіть всього вікна браузера.

Статичне позиціювання

Значення позиціювання за замовчанням - static. Елементи з позиціювання static розміщуються в потоку документа в порядку їх опису в HTML-коді. Більшість елементів зі статичним позиціюванням. У FlexBox елементи також позиційовані статично, якщо не вказані інші налаштування. Примусово вказувати статичне позиціювання зазвичай немає потреби.

.element {
  position: static;
}

Властивість position

Властивість position визначає метод позиціювання елемента на вебсторінці. Ця властивість може мати кілька значень, які визначають, як елемент повинен розташовуватися відносно свого звичайного положення.

position: static | relative | absolute | fixed | sticky | inherit

Елементи, значення властивості position яких відрізняється від static, називають «позиційованими елементами».

Позиціювання задають за допомогою ключових слів: top, left, bottom або right.

Відносне позиціювання

Завдяки позиціюванню relative елемент розміщується відносно його нормального положення в потоці документа.

Такий елемент ніби підіймається і зміщується відносно свого положення.

Він може бути зміщений за допомогою властивостей top, right, bottom і left. Тобто задається один вертикальний і один горизонтальний параметр зміщення:

.item-relative {
  position: relative;
  bottom: 30px;
  right: 30px;
}

Відносне позиціонування не використовується самостійно. Його використовують в поєднанні з абсолютним позиціюванням. Абсолютно позиційовані елементи зміщують відносно відносно-позиціонованих елементів. Тому й така назва.

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

Завдяки позиціюванню absolute елемент розміщується відносно його найближчого позиціонованого (не static) батька або контейнера. Якщо немає такого батька, елемент буде позиційований відносно документа (<body>).

При цьому абсолютно позиційований елемент виривається з потоку сторінки і його сусідні елементи займають його місце. Керують розташуванням таких елементів також за допомогою ключових слів: top, right, bottom і left.

.item-absolute {
  position: absolute;
  top: 10px;
  left: 10px;
}

Абсолютне і відносне позиціювання зазвичай використовують разом. Контейнеру задають відносне позиціювання і всіх його дітей розташовують уже відносно цього контейнера.

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

card {
  width: 200px;
  height: 300px;
  
  position: relative;
}

.text {
  position: absolute;
  top: 20px;
  left: 0;
}

Фіксоване позиціювання

Завдяки позиціюванню fixed елемент розміщується відносно вікна перегляду і залишатиметься на місці навіть при прокручуванні сторінки.

.item-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

Класичні приклади фіксованих елементів це закріплені хедери сторінки, кнопка зі стрілочкою для прокрутки вгору, кнопка відкриття чату консультанта в правому нижньому кутку. тощо.

Липке позиціювання

Завдяки позиціюванню sticky елемент поводить себе як елемент з позиціюванням relative, до тих пір, поки його верхній або нижній край не досягає певного порогу відносно верхнього краю вікна перегляду (для top) або нижнього краю вікна (для bottom), після чого він поводиться як елемент з позиціюванням fixed.

Для реалізації липкого позиціювання потрібні три умови:

  • Встановлено позиціювання position: sticky.

  • У липкого елемента повинно бути встановлено положення, наприклад top: 0.

  • Елемент-контейнер повинен бути більшим по висоті за липкий елемент.

Покликання:

📚
8️⃣
Позиціювання