Seriya: CSS Basics Dars 12

CSS Asoslari - 12-dars

Position xususiyatini o'rganing. position nima, position: relative qanday ishlashini va qachon qaysi position turini ishlatishni tushuning.

12-dars

O'zing nomla

1. position nima?

position — bu nima?

position — element qayerga va nimaga nisbatan joylashishini belgilaydi.

Oddiy qilib aytganda, brauzerga shunday deymiz:

"Bu elementni oddiy oqimda qoldiramanmi, yoki qo'lda joylashtiramanmi?"

Eng muhim fakt (90% xato shu yerda)

top / left / right / bottom position BO'LMASA → ISHLAMAYDI

Bu qoida 🔒

Default holat: position: static

Barcha elementlar default holatda:

position: static;

Bu nimani anglatadi?

  • element normal document flowda turadi
  • top, left, z-index ❌ ishlamaydi
  • brauzer o'zi joylashtiradi

👉 Shuning uchun ko'p odamlar:

"top ishlamayapti" deydi — aslida position yo'q.

Normal document flow nima o'zi?

Brauzer sahifani yuqoridan pastga, chapdan o'ngga joylashtiradi:

  • block → pastma-past
  • inline → yonma-yon

Bu — normal flow.

position bo'lmasa: 👉 sen bu oqimga aralasha olmaysan.

Qachon position kerak bo'ladi?

Quyidagi vaziyatlarda:

  • elementni siljitish
  • ustma-ust chiqarish
  • ekranga yopishtirish
  • scroll bilan bog'lash

position ikki savolga javob beradi:

1️⃣ Element oqimda qoladimi yoki chiqadimi? 2️⃣ Agar siljisa — nimaga nisbatan siljiydi?

Keyingi darslarda:

  • relative → oqimda qoladi
  • absolute → oqimdan chiqadi
  • fixed → viewportga yopishadi
  • sticky → gibrid holat

2. position: relative aslida nimani o'zgartiradi?

Qisqa javob

position: relative elementni joyidan olib ketmaydi, lekin koordinata tizimi yaratadi.

Mana shu jumla — butun darsning mag'zi.

1️⃣ relative element oqimda qoladimi?

👉 HA.

.box {
  position: relative;
}
  • element normal document flowda qoladi
  • yonidagi elementlar unga moslashadi
  • joyi saqlanib qoladi

Shuning uchun:

"relative qo'ydim, hech narsa o'zgarmadi" — deb o'ylaysan.

2️⃣ Unda relative nimaga kerak?

Ikki KATTA vazifasi bor 👇

🟡 Vazifa 1: O'ziga nisbatan siljish

.box {
  position: relative;
  top: 20px;
  left: 10px;
}

Bu nimani anglatadi?

  • element o'z joyidan 20px pastga
  • va 10px o'ngga siljiydi
  • asl joyi esa bo'sh qoladi

Ya'ni:

  • ko'rinarli joyi siljidi
  • layout joyi o'zgarmadi

Bu juda muhim farq.

🟡 Vazifa 2 (ENG MUHIMI): absolute uchun OTA bo'lish 👨‍👦

.parent {
  position: relative;
}

.child {
  position: absolute;
  top: 0;
  right: 0;
}

👉 Bu yerda nima bo'ldi?

.child viewport'ga emas

.parentga nisbatan joylashdi

❗ Agar .parentda position: relative bo'lmasa:

.child butun sahifaga nisbatan ketadi

Engine ichida nima bo'ladi? 🧠

Brauzer shunday deydi:

"Agar absolute bo'lsa — eng yaqin position bor otani top"

relative — xavfsiz ota.