Kā saprast CSS Position Absolute vienreiz un uz visiem laikiem
Pārtrauciet elementu zaudēšanu ekrānā, saprotot, kā objekts attēlo vietu, kur tam vajadzētu sēdēt

Elementa absolūtā pozicionēšana vairāk attiecas uz elementa konteinera pozīciju, nevis tā pozīciju. Lai varētu sevi pozicionēt, tai jāzina, kurš vecāku divs pats sevi pozicionēs attiecībā pret.
Zemāk redzamais kods parāda četrus ligzdotus divus. .box-1
līdz .box-3
tiek centrēta, display: flex
un margin: auto
tikai. .box-4
nav margin
iestatīts, un tas atrodas noklusējuma pozīcijā dokumentu plūsmā.
position
Īpašums ir iestatīta uz visiem elementiem.
body { display: flex;}
.box-1,.box-2,.box-3 { display: flex; margin: auto;}

Lai varētu pozicionēties, elementam jāzina divas lietas:
- koordinātes šim
x
uny
pozīciju kopums, ko nutop
,right
,bottom
,left
- kuru vecāku tā pozicionēs attiecībā pret sevi
Uzklājot position: absolute
uz .box-4
elementu, tiek noņemts no normal document flow
. Tā kā tā koordinātas nav iestatītas, tā vienkārši paliek noklusējuma pozīcijā, kas ir tā augšējā kreisā stūra vecākā div.

Iestatot top: 0
un left: 0
elementam ir jāzina, kuru vecāku tas uzskatīs par atskaites punktu. Lai būtu atsauce, elements jānovieto ekrānā ar position: relative
. .box-4
tad sāk jautāt vecāku diviem, vai viņi ir izvietoti. Sākumā tā jautā .box-3
un saņem No, I am not positioned.
atbildi. Tas pats attiecas uz .box-2
un pēc tam .box-1
, jo visiem ir position: unset
.
Tā kā .box-4
nevarēja atrast novietotu vecāku, tas sevi pozicionē attiecībā pret body
. Šis elements vienmēr tiek novietots ekrānā:

Ja mēs iestatījām position: relative
uz .box-1
, kad to .box-4
jautā: Are you positioned?
tā tiek saņemta Yes I am.
kā atbilde. Un pēc tam .box-4
tiks novietots attiecībā pret .box-1
:

Tas pats attiecas uz .box-2
un .box-3
.
Absolūti novietotais elements sevi pozicionēs attiecībā pret tuvāko novietoto senču.
Tiklīdz tā atrod pozicionētu senču, elementu pozīcija virs tā vairs nav būtiska. Turpmāk Attēli rāda izkārtojumu iestatījumu position: relative
uz .box-2
un .box-3
, attiecīgi:


Video paskaidrojumu varat atrast arī vietnē Code Sketch Channel?
Paldies, ka lasījāt! ✌️
Sākotnēji publicēts marina-ferreira.github.io.
