position
Властивість може допомогти вам керувати розташування елемента, наприклад:
.element ( position: relative; top: 20px; )
Відносно вихідного положення елемент вище буде зрушено зверху на 20 пікселів. Якби ми анімували ці властивості, ми могли б побачити, наскільки це дає нам контроль (хоча це не є гарною ідеєю з міркувань продуктивності):
relative
є лише одним із шести значень для position
властивості. Ось інші:
Цінності
static
: кожен елемент має статичне положення за замовчуванням, тому елемент буде дотримуватися звичайного потоку сторінок. Отже, якщо встановлено лівий / правий / верхній / нижній / z-індекс, то це не вплине на цей елемент.relative
: початкове положення елемента залишається в потоці документа, як іstatic
значення. Але тепер буде працювати лівий / правий / верхній / нижній / z-індекс. Позиційні властивості "штовхають" елемент з початкового положення в цьому напрямку.absolute
: елемент вилучено з потоку документа, а інші елементи будуть поводитися так, ніби його навіть немає, тоді як усі інші позиційні властивості будуть працювати на ньому.fixed
: елемент вилучається із потоку документа як абсолютно позиціоновані елементи. Насправді вони поводяться майже однаково, лише фіксовані позиціоновані елементи завжди відносяться до документа, а не до будь-якого конкретного батька і на них не впливає прокрутка.sticky
(експериментально): елемент обробляється якrelative
значення, поки місце прокрутки області перегляду не досягне заданого порогу, в цей момент елемент займаєfixed
позицію, де йому наказано дотримуватися.inherit
:position
значення не каскадує, тому це може бути використано для спеціального примусу до нього таinherit
значення позиціонування від його батьківського елемента.
Абсолютна
Якщо дочірній елемент має absolute
значення, тоді батьківський елемент буде поводитися так, ніби дочірнього елемента взагалі немає:
.element ( position: absolute; )
І коли ми намагаємося встановити інші значення , такі як left
, bottom
і right
ми знайдемо , що дочірній елемент реагує не на розміри свого батька, але документ:
.element ( position: absolute; left: 0; right: 0; bottom: 0; )
Щоб дочірній елемент розташувався абсолютно з батьківського елемента, нам потрібно встановити це на самому батьківському елементі:
.parent ( position: relative; )
Тепер властивості , такі як left
, right
, bottom
і top
буде ставитися до батьківського елементу, так що , якщо ми робимо дочірній елемент прозорий , ми можемо бачити , що сидить на дні батька:
Виправлено
fixed
Значення аналогічно , absolute
як це може допомогти вам позиціонувати елемент в будь-якому місці щодо документа, проте це значення не залежить від прокрутки. Подивіться дочірній елемент у демонстраційній демонстрації нижче та про те, як після прокрутки він продовжує триматися внизу сторінки:
Дані про підтримку веб-переглядача подані компанією Caniuse, яка містить більше деталей. Цифра вказує на те, що браузер підтримує цю функцію на цій версії та вище.
Робочий стіл
Chrome | Firefox | IE | Край | Сафарі |
---|---|---|---|---|
4 | 2 | 7 | 12 | 3.1 |
Мобільний / планшетний
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 3 | 8 |
Липкий
sticky
Значення , як компроміс між relative
і fixed
цінностями. На момент написання цієї статті вона наразі є експериментальним значенням, тобто вона не є частиною офіційної специфікації та лише частково прийнята вибраними браузерами. Іншими словами, мабуть, це не найкраща ідея використовувати це на веб-сайті, що працює в режимі реального часу.
Що це робить? Ну, це дозволяє вам розташувати елемент відносно будь-чого в документі, а потім, як тільки користувач прокрутить певну точку у вікні перегляду, зафіксуйте позицію елемента в цьому місці, щоб він постійно відображався як елемент із fixed
значення.
Візьмемо такий приклад:
.element ( position: sticky; top: 50px; )
Елемент буде розташовуватися відносно, поки місце прокрутки області перегляду не досягне точки, де елемент буде знаходитися 50px
зверху області перегляду. В той момент, елемент стає липким і залишається в fixed
положенні 50px
верхньої частини екрану.
Наступна демонстрація ілюструє цю точку, де верхня навігація є relative
позиціонуванням за замовчуванням, а друга навігація встановлена sticky
на самий верх вікна перегляду. Зверніть увагу, що демонстрація буде працювати лише в Chrome, Safari та Opera на момент написання цієї статті.
Дані про підтримку веб-переглядача подані компанією Caniuse, яка містить більше деталей. Цифра вказує на те, що браузер підтримує цю функцію на цій версії та вище.
Робочий стіл
Chrome | Firefox | IE | Край | Сафарі |
---|---|---|---|---|
91 | 59 | Ні | 88 | 7,1 * |
Мобільний / планшетний
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 8 * |