Ghid complet cu exemple practice și explicații detaliate
↗️ Position: Relative - Explicație Detaliată
Position: relative face ca elementul să fie poziționat relativ la poziția sa normală în flux.
Elementul își păstrează spațiul original în layout, dar vizual poate fi mutat folosind top, right, bottom, left.
📌 Exemplul 1: Mutare față de poziția originală
Box Normal 1
Box Relative
top: 30px
left: 40px
Box Normal 2
/* Elementul se mută vizual, dar spațiul său original rămâne rezervat */
.element {
position: relative;
top: 30px; /* Se mută în jos cu 30px */
left: 40px; /* Se mută la dreapta cu 40px */
}
🎴 Exemplul 2: Control z-index cu Relative
Position: relative permite controlul straturilor (z-index). Hover pe carduri pentru a vedea efectul:
Card 1 z-index: 1
Card 2 z-index: 2
Card 3 z-index: 3
/* z-index funcționează doar cu elemente poziționate (non-static) */
.card {
position: relative;
z-index: 1;
}
.card:hover {
z-index: 10; /* Vine în față la hover */
}
🏠 Exemplul 3: Container pentru elemente absolute
Cel mai comun uz: position: relative creează un context de poziționare pentru copiii absolute:
Position: absolute scoate elementul din fluxul normal al documentului.
Elementul este poziționat relativ la cel mai apropiat părinte cu position: relative/absolute/fixed/sticky,
sau față de <body> dacă nu există.
⚠️ Exemplul 4: Absolute fără părinte pozitionat
Când nu există părinte cu position relative, elementul absolute se poziționează față de viewport:
Acest container NU are position: relative
Sunt poziționat față de demo-container!
/* ATENȚIE: Fără părinte relative, absolute se raportează la body/viewport */
.element {
position: absolute;
right: 20px;
top: 20px;
/* Se va poziționa față de primul părinte cu position non-static */
}
💬 Exemplul 5: Tooltip-uri cu Absolute
Perfect pentru elemente care apar deasupra conținutului: