Junior
CSSda elementlarni joylashning turli usullari orasidagi farq nima?
sobes.tech AI
AIdan javob
static- Standart pozitsiya. Element hujjat oqimiga muvofiq joylashadi.top,right,bottom,leftxususiyatlari ta'sir qilmaydi.relative- Element o'zining normal joylashuvi bilan nisbatan joylashadi.top,right,bottom,leftxususiyatlari elementni uning asl pozitsiyasidan siljitadi, ammo uning egallagan joyi oqimda saqlanadi.absolute- Element to'liq ravishda hujjat oqimidan chiqariladi. Uning joylashuvitop,right,bottom,leftxususiyatlari bilan eng yaqin joylashgan avlodga (position: relative,absolute,fixedyokisticky) nisbatan belgilanadi. Agar bunday avlodlar bo'lmasa, joylashuvi<html>boshlang'ich blokiga nisbatan belgilanadi.fixed- Element to'liq ravishda hujjat oqimidan chiqariladi. Uning joylashuvitop,right,bottom,leftxususiyatlari bilan ko'rish oynasiga (viewport) nisbatan belgilanadi. Element sahifa skroll qilinayotganda joyida qoladi.sticky- Elementrelativekabi joylashadi, skroll qilish davomida belgilangan pozitsiyaga (top,right,bottom,left) yetgach, uning joylashuvifixedbo'ladi.
Farqlash jadvali:
| Xususiyat | static |
relative |
absolute |
fixed |
sticky |
|---|---|---|---|---|---|
| Hujjat oqimi | Oddiy | Saqlaydi | O'chiriladi | O'chiriladi | Avval oddiy, keyin o'chiriladi |
Siljish (top va boshqalar) |
Yo'q | O'ziga nisbatan | Avrora/viewportga nisbatan | Viewportga nisbatan | O'ziga, keyin viewportga nisbatan |
| Skroll qilishda | Skroll qilinadi | Skroll qilinadi | Joyida qoladi (agar avlod fixed bo'lsa) yoki avlod bilan skroll qilinadi |
Joyida qoladi | Avval skroll qilinadi, keyin joyida qoladi |
Misol:
.static-box {
position: static; /* Standart joylashuv */
width: 100px;
height: 100px;
background-color: lightblue;
}
.relative-box {
position: relative;
top: 20px; /* Oddiy joylashuvdan pastga siljish */
left: 20px; /* Oddiy joylashuvdan o'ngga siljish */
width: 100px;
height: 100px;
background-color: lightgreen;
}
.absolute-container {
position: relative; /* Avlod joylashgan */
width: 300px;
height: 300px;
border: 1px solid black;
}
.absolute-box {
position: absolute;
top: 50px; /* Kontentga nisbatan */
left: 50px; /* Kontentga nisbatan */
width: 50px;
height: 50px;
background-color: lightcoral;
}
.fixed-box {
position: fixed;
bottom: 10px; /* Ko'rish oynasiga nisbatan */
right: 10px; /* Ko'rish oynasiga nisbatan */
width: 70px;
height: 70px;
background-color: lightsalmon;
}
.sticky-header {
position: sticky;
top: 0; /* Ko'rish oynasining yuqori qismiga yopishadi */
height: 50px;
background-color: lightgoldenrodyellow;
z-index: 10; /* Boshqa elementlar ustidan turish uchun */
}