U top
, bottom
, left
i right
svojstva koriste se u položaju za postavljanje plasman elementa. Oni imaju učinak samo na pozicionirane elemente, koji su elementi sa position
svojstvom postavljenim na bilo što drugo osim static
. Na primjer: relative
, absolute
, fixed
, ili sticky
.
div ( : || || auto || inherit; )
Možete ga koristiti, na primjer, da gurnete ikonu na svoje mjesto:
button .icon ( position: relative; top: 1px; )
Ili postavite poseban element unutar spremnika.
.container ( position: relative; ) .container header ( position: absolute; top: 0; )
Vrijednost za top
, bottom
, left
i right
može biti bilo koji od sljedećih uvjeta:
- bilo koja od valjanih duljina CSS-a
- postotak visine elementa koji sadrži element (za
top
ibottom
) ili širine (zaleft
iright
) auto
inherit
Element će se općenito odmaknuti od zadane strane kada je njegova vrijednost pozitivna, a prema njoj kada je vrijednost negativna. U donjem primjeru pozitivna duljina za top
pomiče element prema dolje (dalje od vrha), a negativna duljina za top
pomiče element prema gore (prema vrhu):
Pogledajte
Top Pen : pozitivne i negativne vrijednosti Matsuko Friedland (@missmatsuko)
na CodePenu.
Položaj
Plasman element s vrijednošću top
, bottom
, left
ili right
ovisi o vrijednosti za position
. Pogledajmo što se događa kada postavimo istu vrijednost za top
elemente s različitim vrijednostima za position
.
static
top
Nekretnine nema nikakvog utjecaja na unpositioned elemenata (elementi sa position
skupa u static
). Ovako su elementi postavljeni prema zadanim postavkama. Možete koristiti position: static;
kao jednu od metoda za poništavanje učinka top
na element.
relative
Kada top
se postavi na element s position
postavkom relative
, element će se pomicati gore ili dolje u odnosu na prvobitno mjesto u dokumentu.
Pogledajte Pen Pen
: srodnik Matsuko Friedland (@missmatsuko)
na CodePenu.
absolute
Kada top
se postavi na element s position
postavljenim na absolute
, element će se pomicati gore ili dolje u odnosu na najbližeg pozicioniranog pretka (ili dokument, ako nema pozicioniranih predaka).
U ovoj je demonstraciji ružičasti okvir s lijeve strane smješten 50 piksela od vrha stranice jer nema pozicioniranih elemenata pretka. Ružičasta okvir na desnoj strani se nalazi 50 piksela od vrha svog roditelja, jer roditelj ima position
od relative
.
Pogledajte Pen
Top: absolute Matsuko Friedland (@missmatsuko)
na CodePenu.
fixed
Kada top
se postavi na element s position
postavljenim na fixed
, element će se pomicati gore ili dolje u odnosu na prikazni okvir preglednika.
Pogledajte
Top Pen : popravio CSS-Tricks (@ css-tricks)
na CodePenu.
Na prvi pogled može se činiti kao da nema razlike između absolute
i fixed
. Razlika se može vidjeti kada ih usporedite na stranici koja ima dovoljno sadržaja za pomicanje. Dok se pomičete prema dolje, fixed
element položaja je uvijek na vidiku, dok se absolute
element položaja pomiče.
Pogledajte
Pomicanje olovkom : popravljeno u odnosu na apsolutno pomoću CSS-trikova (@ css-trikovi)
na CodePenu.
sticky
Kada top
se postavi na element s position
postavljenim na sticky
, element će se pomicati prema gore ili prema dolje u odnosu na najbližeg pretka pomoću okvira za pomicanje (ili okvira za prikaz, ako niti jedan predak nema okvir za pomicanje), ograničeno na granice njegovog elementa koji sadrži.
Postavljanje top
na sticky
postavljenim elementa ne čini puno, osim ako njegov kontejner je jači nego što je, i imate dovoljno sadržaja za pomicanje. Kao i kod fixed
, element će ostati na vidiku dok se pomičete. Za razliku od toga fixed
, element će nestati iz vida kad dosegne rubove svog elementa koji sadrži.
Pogledajte
Pomicanje olovkom : popravljeno ili ljepljivo pomoću CSS-trikova (@ css-trikovi)
na CodePenu.
Shvaćam
Postavljanje suprotnih strana
Možete postaviti vrijednost za svaku od top
, bottom
, left
i right
na jednom elementu. Kad postavite vrijednosti za suprotne strane ( top
i bottom
, ili left
i right
), rezultat možda neće uvijek biti onakav kakav očekujete.
U većini slučajeva, bottom
zanemaruje se ako top
je već postavljeno, a right
zanemaruje se ako left
je već postavljeno. Kada je smjer postavljen na rtl
(zdesna nalijevo), left
ignorira se umjesto right
. Da bi svaku vrijednost imati učinak, element mora imati position
set za absolute
ili fixed
i height
set za auto
(zadano).
U ovom primjeru, postavili smo top
, bottom
, left
i right
za `20px` i očekivati svaku stranu unutarnjeg okvira biti 20px od strane vanjskog okvira:
Pogledajte
Postavljanje olovke gore, dolje, lijevo i desno od CSS-trikova (@ css-trikovi)
na CodePenu.
Kada je fiksno, nije u odnosu na prikazni okvir
Elementi s position
postavljenim na fixed
nisu uvijek postavljeni u odnosu na prikazni okvir. To će biti smješten u odnosu na svog najbližeg pretka sa transform
, perspective
ili filter
svojstvo postavljeno na bilo što drugo osim none
, ako postoji.
Dodavanje ili uklanjanje prostora
Ako ste pozicionirali element i ustanovili da je sada prazan prostor ili nema dovoljno prostora tamo gdje ste očekivali, to može imati veze s tim je li element u toku protoka dokumenta ili izvan njega.
Kada se element izvadi iz toka dokumenta, to znači da nestaje prostor koji je izvorno zauzeo na stranici. To je slučaj kada je element pozicioniran absolute
ili fixed
. U ovom primjeru, okvir s sadržajem apsolutno pozicioniranog elementa se srušio jer je apsolutno pozicionirani element uklonjen iz toka dokumenta:
Pogledajte
Tok dokumenata olovke Matsuka Friedlanda (@missmatsuko)
na CodePenu.
Podrška preglednika
Možete zaviriti, ali ne postoji zabrinutost za više top
vlasnika. Koristite po volji.