position
Proprietatea vă poate ajuta să manipuleze locația unui element, de exemplu:
.element ( position: relative; top: 20px; )
În raport cu poziția sa inițială, elementul de mai sus va fi acum împins în jos de sus cu 20 px. Dacă ar fi să animăm aceste proprietăți, putem vedea cât de mult ne oferă acest control (deși aceasta nu este o idee bună din motive de performanță):
relative
este doar una din cele șase valori pentru position
proprietate. Iată ceilalți:
Valori
static
: fiecare element are o poziție statică în mod implicit, astfel încât elementul să rămână la fluxul normal de pagini. Deci, dacă există un set stânga / dreapta / sus / jos / z-index, atunci nu va exista niciun efect asupra acelui element.relative
: poziția inițială a unui element rămâne în fluxul documentului, la fel castatic
valoarea. Dar acum stânga / dreapta / sus / jos / indexul z va funcționa. Proprietățile poziționale „împing” elementul din poziția inițială în acea direcție.absolute
: elementul este eliminat din fluxul documentului și alte elemente se vor comporta ca și cum nu ar fi acolo, în timp ce toate celelalte proprietăți de poziție vor funcționa asupra acestuia.fixed
: elementul este eliminat din fluxul documentului ca elemente absolut poziționate. De fapt, aceștia se comportă aproape la fel, doar elementele fixe poziționate sunt întotdeauna relative la document, nu un anumit părinte și nu sunt afectate de derulare.sticky
(experimental): elementul este tratat ca orelative
valoare până când locația de derulare a ecranului atinge un prag specificat, moment în care elementul ia ofixed
poziție în care i se spune să rămână.inherit
:position
valoarea nu se încadrează în cascadă, deci aceasta poate fi utilizată pentru a o forța în mod specific șiinherit
valoarea de poziționare de la părintele său.
Absolut
Dacă un element copil are o absolute
valoare, atunci elementul părinte se va comporta ca și cum copilul nu ar fi deloc acolo:
.element ( position: absolute; )
Și când vom încerca să stabilească alte valori , cum ar fi left
, bottom
și right
vom găsi că elementul copil răspunde nu la dimensiunile mamă, dar documentul:
.element ( position: absolute; left: 0; right: 0; bottom: 0; )
Pentru a face elementul copil poziționat absolut de elementul său părinte, trebuie să setăm acest lucru pe elementul părinte însuși:
.parent ( position: relative; )
Acum proprietăți , cum ar fi left
, right
, bottom
și se top
vor referi la elementul de bază, astfel încât , dacă vom face elementul copil transparent , putem vedea stând chiar în partea de jos a societății- mamă:
Fix
fixed
Valoarea este similară , absolute
deoarece poate ajuta la poziționarea unui element oriunde în raport cu documentul, însă această valoare nu este afectată de defilare. Vedeți elementul copil din demonstrația de mai jos și cum, odată ce derulați, continuă să rămână în partea de jos a paginii:
Aceste date de asistență pentru browser provin de la Caniuse, care are mai multe detalii. Un număr indică faptul că browserul acceptă funcția în versiunea respectivă și în sus.
Desktop
Crom | Firefox | IE | Margine | Safari |
---|---|---|---|---|
4 | 2 | 7 | 12 | 3.1 |
Mobil / Tabletă
Android Chrome | Android Firefox | Android | Safari iOS |
---|---|---|---|
88 | 85 | 3 | 8 |
Lipicios
sticky
Valoarea este ca un compromis între relative
și fixed
valori. Începând cu această scriere, este în prezent o valoare experimentală, ceea ce înseamnă că nu face parte din specificațiile oficiale și este adoptată doar parțial de anumite browsere. Cu alte cuvinte, probabil că nu este cea mai bună idee să folosiți acest lucru pe un site de producție live.
Ce face? Ei bine, vă permite să poziționați un element în raport cu orice din document și apoi, odată ce un utilizator a parcurs un anumit punct din fereastră, fixați poziția elementului în acea locație, astfel încât acesta să rămână afișat persistent ca un element cu un fixed
valoare.
Luați următorul exemplu:
.element ( position: sticky; top: 50px; )
Elementul va fi poziționat relativ până când locația de derulare a ferestrei de vizualizare atinge un punct în care elementul va fi 50px
din partea de sus a ferestrei. În acel moment, elementul devine lipicios și rămâne în fixed
poziția de 50px
sus a ecranului.
Următoarea demonstrație ilustrează acel punct, în care navigarea de sus este relative
poziționarea implicită , iar cea de-a doua navigare este setată sticky
în partea de sus a ferestrei. Vă rugăm să rețineți că demo-ul va funcționa numai în Chrome, Safari și Opera în momentul redactării acestui articol.
Aceste date de asistență pentru browser provin de la Caniuse, care are mai multe detalii. Un număr indică faptul că browserul acceptă funcția în versiunea respectivă și în sus.
Desktop
Crom | Firefox | IE | Margine | Safari |
---|---|---|---|---|
91 | 59 | Nu | 88 | 7.1 * |
Mobil / Tabletă
Android Chrome | Android Firefox | Android | Safari iOS |
---|---|---|---|
88 | 85 | 81 | 8 * |