Позиційовані елементи
Last updated
Last updated
У веб-розробці позиціювання елементів - це техніка, яка дозволяє контролювати розташування та розмір елементів на сторінці. Зазвичай це використовується в CSS для HTML-елементів.
Звичайний потік документу відбувається зліва-направо і згори-вниз. Техніка позиціювання дозволяє підняти елементи над потоком і розмістити їх за новим правилом відносно іншого елемента або навіть всього вікна браузера.
Значення позиціювання за замовчанням - static. Елементи з позиціювання static розміщуються в потоку документа в порядку їх опису в HTML-коді. Більшість елементів зі статичним позиціюванням. У FlexBox елементи також позиційовані статично, якщо не вказані інші налаштування. Примусово вказувати статичне позиціювання зазвичай немає потреби.
Властивість position визначає метод позиціювання елемента на вебсторінці. Ця властивість може мати кілька значень, які визначають, як елемент повинен розташовуватися відносно свого звичайного положення.
Елементи, значення властивості position яких відрізняється від static, називають «позиційованими елементами».
Позиціювання задають за допомогою ключових слів: top, left, bottom або right.
Завдяки позиціюванню relative елемент розміщується відносно його нормального положення в потоці документа.
Такий елемент ніби підіймається і зміщується відносно свого положення.
Він може бути зміщений за допомогою властивостей top, right, bottom і left. Тобто задається один вертикальний і один горизонтальний параметр зміщення:
Завдяки позиціюванню absolute елемент розміщується відносно його найближчого позиціонованого (не static) батька або контейнера. Якщо немає такого батька, елемент буде позиційований відносно документа (<body>).
При цьому абсолютно позиційований елемент виривається з потоку сторінки і його сусідні елементи займають його місце. Керують розташуванням таких елементів також за допомогою ключових слів: top, right, bottom і left.
Абсолютне і відносне позиціювання зазвичай використовують разом. Контейнеру задають відносне позиціювання і всіх його дітей розташовують уже відносно цього контейнера.
Цю техніку використовують для оформлення декоративних елементів, або розташування різних елементів всередині контейнера. Прикладом такого оформлення може бути, наприклад картка товарів з фіксованим розміром і абсолютно позиційованими дітьми всередині. Або якась позначка на картці тощо.
Завдяки позиціюванню fixed елемент розміщується відносно вікна перегляду і залишатиметься на місці навіть при прокручуванні сторінки.
Класичні приклади фіксованих елементів це закріплені хедери сторінки, кнопка зі стрілочкою для прокрутки вгору, кнопка відкриття чату консультанта в правому нижньому кутку. тощо.
Завдяки позиціюванню sticky елемент поводить себе як елемент з позиціюванням relative, до тих пір, поки його верхній або нижній край не досягає певного порогу відносно верхнього краю вікна перегляду (для top) або нижнього краю вікна (для bottom), після чого він поводиться як елемент з позиціюванням fixed.
Для реалізації липкого позиціювання потрібні три умови:
Встановлено позиціювання position: sticky.
У липкого елемента повинно бути встановлено положення, наприклад top: 0.
Елемент-контейнер повинен бути більшим по висоті за липкий елемент.
Покликання: