CSS Asoslari - 4-dars
CSS'ni qayerga yozish va selector kuchi (specificity) haqida o'rganing. Inline, style tag va external CSS'ning kuchlari va selectorlar o'rtasidagi ustunlik tartibini tushuning.
4-dars
CSS'ni qayerga yozish va Selector kuchi
Bu darsda CSS'ni qayerga yozish kuchliroq bo'lishini va selectorlar o'rtasidagi kuch farqini o'rganamiz.
1. Inline, <style>, external — qaysi biri kuchli?
"CSS'ni qayerga yozsam kuchliroq bo'ladi?"
CSS yozishning 3 ta yo'li bor.
Bir xil developer CSS, lekin joylashuvi boshqa:
1️⃣ External CSS (.css fayl)
2️⃣ <style> tag ichida
3️⃣ Inline style (style="")
1️⃣ External CSS (eng ko'p ishlatiladi)
<link rel="stylesheet" href="style.css">
p {
color: red;
}
👉 Bu eng toza va professional usul 👉 Katta loyihalarda doim shu ishlatiladi
Lekin ❗
Cascade'da kuch jihatdan eng past.
2️⃣ <style> tag ichidagi CSS
<style>
p {
color: blue;
}
</style>
👉 HTML fayl ichida yoziladi 👉 External CSS'dan kuchliroq
Ko'pincha:
- test
- tezkor override
- kichik sahifalarda
3️⃣ Inline style (eng kuchlisi)
<p style="color: green;">Salom</p>
👉 To'g'ridan-to'g'ri elementning o'ziga yoziladi 👉 Cascade'da eng kuchli (hozircha)
❗ Lekin:
- o'qish qiyin
- tartibsiz
- maintenance yomon
Shuning uchun:
kuchli bo'lsa ham, professional yo'l emas
Kuchlar tartibi (yodlab ol)
Agar selectorlar bir xil bo'lsa 👇
🥉 External CSS
🥈 <style>
🥇 Inline style ✅
📌 Brauzer shunday o'ylaydi:
"Elementning o'ziga yozilgan bo'lsa — eng muhim"
Aniq misol 👇
<head>
<style>
p { color: blue; }
</style>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p style="color: green;">Salom</p>
</body>
/* style.css */
p {
color: red;
}
❓ Rang qanaqa bo'ladi?
👉 green
Sababi:
inline > style > external
Muhim joy ⚠️
Ko'p boshlovchilar shunaqa deydi:
"External CSS ishlamayapti"
Aslida:
- inline bor
- yoki
<style>ustun kelgan
👉 Muammo cascade'da, CSS'da emas.
Qachon qaysi biri ishlatiladi?
✔ External CSS — 99% holat
✔ <style> — vaqtinchalik / test
❌ Inline — faqat majbur bo'lsa
Xulosa
CSS'ni qayerga yozish — kuchni belgilaydi. Professional loyihada external CSS ishlatiladi.
2. Selector kuchi (Specificity) nima?
Specificity — bu nima?
Specificity — bu selectorning qanchalik aniq va kuchli ekanligi.
Oddiy qilib aytganda:
❝ Qaysi selector elementni aniqroq ushlasa — o'sha yutadi ❞
Eng muhim qoida 🧠
❗ Specificity — yozilish tartibidan ham kuchli
Ya'ni:
- pastda yozilgan bo'lsa ham
- agar selector kuchsiz bo'lsa
- yuqoridagi kuchli selector yutadi
Eng oddiy misol 👇
p {
color: red;
}
.text {
color: blue;
}
<p class="text">Salom</p>
❓ Rang qanaqa?
👉 blue
❗ Nega?
p→ umumiy selector.text→ aniqroq selector
📌 class > tag
Selectorlar kuchi
Hozircha faqat tartibni bilib olamiz:
🥉 element → p, div, span
🥈 .class → .box, .title
🥇 #id → #header, #main
👉 Kuch yuqoriga qarab oshadi
Yana bir misol 👇
#title {
color: green;
}
.title {
color: blue;
}
h1 {
color: red;
}
<h1 id="title" class="title">Hello</h1>
❓ Rang?
👉 green
Sababi:
#id — eng kuchli
Muhim ⚠️
Ko'p odam shunaqa o'ylaydi:
"Pastda yozsam ishlaydi"
❌ Har doim emas.
Mana misol:
.box {
color: blue;
}
div {
color: red;
}
Pastda div bo'lsa ham
👉 .box yutadi
Specificity nimaga kerak?
Agar bilmasang:
!importantishlata boshlaysan- CSS chalkashadi
- katta projectda adashasan
Agar bilsang:
- qaysi style nega ishlaganini tushunasan
- toza override qilasan
- professional CSS yozasan
Xulosa
Specificity — selectorlar o'rtasidagi kuch farqi. Kuchli selector har doim yutadi, hatto pastda yozilgan bo'lsa ham.