HTML fayl tuzilishi — DOCTYPE, html, head, body
Har bir HTML fayl bir xil boshlanadi
Yangi HTML fayl yaratsangiz — doim shu tuzilmadan boshlang:
<!DOCTYPE html>
<html lang="uz">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Sahifa nomi</title>
</head>
<body>
<!-- Kontent shu yerda -->
</body>
</html>
Har bir qatorni tushunamiz.
<!DOCTYPE html>
Bu HTML emas — bu deklaratsiya. Brauzerga "bu HTML5 fayl" deb aytadi.
<!DOCTYPE html>
Eski HTML versiyalarida bu juda uzun edi:
<!-- HTML 4.01 — eskirgan, ishlatmang -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML5 da oddiy: <!DOCTYPE html>. Katta-kichik harf farqi yo'q — <!doctype html> ham ishlaydi. Lekin katta harf bilan yozish an'ana.
⚠️
DOCTYPEbo'lmasa brauzer "quirks mode" ga o'tadi — eski, noto'g'ri xulq-atvor. Har doim yozing.
<html> — ildiz element
Barcha HTML kontent <html> ichida bo'ladi. U — daraxtning ildizi.
<html lang="uz">
...
</html>
lang atributi — sahifa tilini bildiradi. Bu muhim:
- Screen reader (ko'zi ojizlar uchun) to'g'ri til bilan o'qiydi
- Qidiruv tizimlari sahifa tilini tushunadi
- Brauzer to'g'ri imlo tekshiruvini qo'llaydi
<html lang="uz"> <!-- O'zbek -->
<html lang="en"> <!-- Ingliz -->
<html lang="ru"> <!-- Rus -->
<html lang="ar"> <!-- Arab — o'ngdan chapga -->
<head> — ko'rinmaydigan ma'lumotlar
<head> ichidagi hamma narsa ekranda ko'rinmaydi. Bu — sahifa haqidagi meta-ma'lumotlar, CSS, JavaScript ulanishlari.
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Sahifa nomi</title>
<link rel="stylesheet" href="style.css" />
<script src="script.js" defer></script>
</head>
<meta charset="UTF-8">
Sahifa qanday kodlashda yozilganini bildiradi. UTF-8 — dunyo bo'ylab barcha harflarni qo'llab-quvvatlaydi: lotin, kirill, arab, xitoy, emoji.
<meta charset="UTF-8" />
Bu bo'lmasa — o'zbek harflari (ğ, ş, ö) noto'g'ri ko'rinishi mumkin. Har doim birinchi <meta> sifatida yozing.
<meta name="viewport">
Mobil qurilmalarda sahifa qanday ko'rinishini boshqaradi.
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
Bu bo'lmasa — mobil brauzer sahifani kichraytirib ko'rsatadi (desktop versiya kabi). Bu bilan — sahifa mobil ekran kengligiga moslashadi.
viewport yo'q: [kichik, zoom qilingan sahifa]
viewport bor: [to'liq, o'qilishi qulay sahifa]
<title>
Brauzer tabida va qidiruv natijalarida ko'rinadigan nom.
<title>DevDocs — O'zbek tilida dasturlash</title>
Tab: [DevDocs — O'zbek tilida dasturlash]
Google: DevDocs — O'zbek tilida dasturlash
devdocs.uz
Har bir sahifada unikal va tavsiflovchi title bo'lishi kerak. "Sahifa" yoki "Untitled" — yomon.
<body> — ko'rinadigan kontent
Foydalanuvchi ekranda ko'radigan hamma narsa <body> ichida:
<body>
<h1>Salom!</h1>
<p>Bu sahifaning kontenti.</p>
<img src="rasm.jpg" alt="Rasm" />
<a href="about.html">Biz haqimizda</a>
</body>
To'liq tuzilma — vizual
<!DOCTYPE html>
┌─────────────────────────────────────┐
│ <html lang="uz"> │
│ │
│ ┌─────────────────────────────┐ │
│ │ <head> │ │
│ │ charset, viewport, title │ │ ← Ko'rinmaydi
│ │ CSS, JS ulanishlari │ │
│ │ </head> │ │
│ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────────────┐ │
│ │ <body> │ │
│ │ h1, p, img, a, div... │ │ ← Ko'rinadi
│ │ </body> │ │
│ └─────────────────────────────┘ │
│ │
│ </html> │
└─────────────────────────────────────┘
Izohlar
HTML da izoh (comment) — brauzer ko'rsatmaydi, faqat kod ichida ko'rinadi:
<!-- Bu izoh — brauzerda ko'rinmaydi -->
<p>Bu ko'rinadi</p>
<!--
Ko'p qatorli izoh
Vaqtincha o'chirib qo'yish uchun ham ishlatiladi
-->
Amaliy misol
<!DOCTYPE html>
<html lang="uz">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ali Valiyev — Portfolio</title>
<meta name="description" content="Ali Valiyev — frontend dasturchi" />
</head>
<body>
<!-- Asosiy sarlavha -->
<h1>Ali Valiyev</h1>
<p>Frontend dasturchi</p>
<!-- Aloqa -->
<a href="mailto:ali@example.com">ali@example.com</a>
</body>
</html>
Xulosa
| Qism | Nima qiladi | Ko'rinadimi? |
|---|---|---|
<!DOCTYPE html> |
HTML5 ekanligini bildiradi | Yo'q |
<html lang="uz"> |
Ildiz element, til | Yo'q |
<head> |
Meta-ma'lumotlar, CSS, JS | Yo'q |
<meta charset> |
Kodlash (UTF-8) | Yo'q |
<meta viewport> |
Mobil moslashuv | Yo'q |
<title> |
Tab va qidiruv nomi | Tab da |
<body> |
Kontent | Ha |
Keyingi dars
3-dars: Matn teglari — h1-h6, p, span, strong, em, br, hr