HTML

HTML nima?

HTML β€” bu har bir veb-sahifaning poydevori. Internetda ko'rgan har bir sayt, matn, rasm, tugma va havola aynan HTML yordamida yaratilgan. Ushbu darsda HTML nima ekanligini mutlaqo noldan o'rganamiz: teg, element va atribut nima, HTML hujjati qanday tuzilishga ega va o'z qo'lingiz bilan birinchi veb-sahifani qanday yozish mumkin.

Bu bob β€” frontend (brauzerda ko'rinadigan qism) asoslariga bag'ishlangan. Bu yerdagi barcha kod misollari brauzerda ishlaydi. Ularni sinab ko'rish uchun oddiy matn muharririda (masalan, VS Code) fayl yaratib, uni .html kengaytmasi bilan saqlang va brauzerda oching.

HTML nima va u nima uchun kerak?

HTML β€” bu HyperText Markup Language so'zlarining qisqartmasi, ya'ni "Gipermatnli Belgilash Tili". Nomdagi har bir so'zni ajratib tushunaylik:

Muhim tushuncha: HTML β€” bu dasturlash tili emas. Unda shartlar, sikllar yoki hisob-kitob yo'q. HTML faqat sahifaning tuzilishini va mazmunini tasvirlaydi. U brauzerga nimani ko'rsatishni aytadi, lekin qanday harakat qilishni emas. Boshqacha aytganda, HTML β€” bu sahifaning "skeleti" yoki "suyaklari".

Bir sahifani odam tanasiga qiyoslasak: HTML β€” suyaklar va a'zolar (tuzilish), CSS β€” tashqi ko'rinish, kiyim va bezak (ranglar, o'lchamlar), JavaScript β€” mushaklar va harakat (bosilganda nima bo'lishi). Biz hozir eng birinchisi β€” suyaklarni o'rganamiz.

Teg nima?

HTML'ning eng asosiy birligi β€” teg (tag). Teg β€” bu burchakli qavslar < va > ichiga yozilgan maxsus so'z. Masalan, paragraf uchun teg <p> ko'rinishida bo'ladi.

Teglar odatda juft bo'lib keladi: ochuvchi teg va yopuvchi teg. Yopuvchi teg ochuvchisiga o'xshaydi, faqat oldida qiya chiziq (/) turadi:

<p>Bu β€” bitta paragraf.</p>

Bu yerda <p> β€” ochuvchi teg (paragraf boshlandi), </p> β€” yopuvchi teg (paragraf tugadi). Ular orasidagi "Bu β€” bitta paragraf." matni esa β€” paragrafning mazmuni.

Ba'zi teglar mazmunni o'rab olmaydi, chunki ularning ichida matn bo'lmaydi. Bunday teglar bo'sh (yakka) teglar deyiladi va ularda yopuvchi teg bo'lmaydi. Masalan, satrni yangi qatordan boshlaydigan <br> yoki rasm qo'yadigan <img>:

<br>
Eski HTML uslubida bo'sh teglarni <br /> ko'rinishida oxiriga qiya chiziq qo'yib yozishardi. Zamonaviy HTML5'da bu shart emas β€” oddiy <br> yetarli. Ikkalasi ham to'g'ri ishlaydi.

Element nima?

Element β€” bu ochuvchi teg, mazmun va yopuvchi tegdan iborat to'liq birlik. Ya'ni teg β€” bu shunchaki belgi, element esa β€” belgi bilan o'ralgan butun bo'lak.

<h1>Salom, dunyo!</h1>
<p>Bu mening birinchi veb-sahifam.</p>

Yuqorida ikkita element bor: birinchisi β€” h1 elementi (katta sarlavha), ikkinchisi β€” p elementi (paragraf). Har biri ochuvchi teg, matn va yopuvchi tegdan tashkil topgan.

Elementlar bir-birining ichiga joylashtirilishi (ichma-ich) mumkin. Masalan, paragraf ichida biror so'zni qalin qilib ajratmoqchi bo'lsak:

<p>Men <strong>HTML</strong> o'rganyapman.</p>

Bu yerda strong elementi p elementining ichida joylashgan. Muhim qoida: ichma-ich joylangan teglar to'g'ri tartibda yopilishi kerak. Oxirgi ochilgan teg birinchi bo'lib yopiladi. Ya'ni <p><strong>...</strong></p> to'g'ri, lekin <p><strong>...</p></strong> noto'g'ri.

Atribut nima?

Atribut β€” bu tegga qo'shimcha ma'lumot beruvchi maxsus qism. Atributlar ochuvchi teg ichiga yoziladi va elementga qo'shimcha xususiyat qo'shadi. Atribut ikki qismdan iborat: nomi va qiymati, ular orasida teng belgisi (=) turadi. Qiymat esa qo'shtirnoq ichiga olinadi.

Eng ko'p ishlatiladigan misol β€” havola. Havola <a> tegi bilan yaratiladi, lekin qayerga o'tishni href atributi belgilaydi:

<a href="https://example.com">Saytga o'tish</a>

Bu yerda:

Bir elementda bir nechta atribut bo'lishi mumkin, ular bir-biridan bo'sh joy (probel) bilan ajratiladi. Masalan, rasm elementi ikkita atributga ega:

<img src="rasm.jpg" alt="Chiroyli manzara">

Bu yerda src β€” rasm fayli manzili, alt β€” rasm ko'rinmasa yoki ekranni o'quvchi dastur uchun matnli tavsif.

Atribut qiymatlarini har doim qo'shtirnoq ichiga oling: href="...". Texnik jihatdan tirnoqsiz ham ishlaydi, lekin qiymatda bo'sh joy bo'lsa xato beradi. Shuning uchun har doim tirnoq qo'yish β€” yaxshi odat.

HTML hujjatining skeleti

Har bir to'liq HTML sahifasi ma'lum bir standart tuzilishga ega. Bu β€” sahifaning "skeleti", ya'ni har safar takrorlanadigan asosiy karkas. Mana to'liq bo'sh sahifa qanday ko'rinadi:

<!DOCTYPE html>
<html lang="uz">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Mening sahifam</title>
</head>
<body>
  <h1>Salom, dunyo!</h1>
  <p>Bu mening birinchi veb-sahifam.</p>
</body>
</html>

Bu tuzilish dastlab murakkab tuyulishi mumkin, lekin har bir qismini alohida ko'rib chiqsak, hammasi tushunarli bo'ladi.

1. β€” hujjat turi

Fayilning eng birinchi qatori β€” <!DOCTYPE html>. Bu brauzerga "bu hujjat zamonaviy HTML5 standartida yozilgan" deb aytadi. Bu teg emas, balki e'lon (deklaratsiya). U doim eng yuqorida, boshqa hamma narsadan oldin turishi kerak.

Agar <!DOCTYPE html> ni tushirib qoldirsangiz, brauzer eski, mos kelmaydigan ("quirks") rejimga o'tishi mumkin va sahifangiz kutilmaganda noto'g'ri ko'rinadi. Shuning uchun uni hech qachon unutmang.

2. β€” ildiz element

<html> β€” butun hujjatni o'rab turadigan eng asosiy (ildiz) element. Boshqa hamma teglar shu elementning ichida joylashadi. Uning lang atributi sahifa qaysi tilda ekanini bildiradi: lang="uz" β€” o'zbek tili, lang="en" β€” ingliz tili. Bu qidiruv tizimlari va ekran o'quvchilari uchun muhim.

3. β€” texnik ma'lumotlar bo'limi

<head> ("bosh") bo'limi β€” sahifa haqidagi ko'rinmaydigan texnik ma'lumotlarni saqlaydi. Bu yerdagi narsalar sahifada to'g'ridan-to'g'ri chiqmaydi, lekin brauzer va qidiruv tizimlari uchun juda muhim. Bu yerga sahifa sarlavhasi, kodlash usuli, CSS va JavaScript havolalari joylashadi.

4. β€” ko'rinadigan mazmun

<body> ("tana") bo'limi β€” foydalanuvchi ekranda ko'radigan hamma narsani saqlaydi: sarlavhalar, matnlar, rasmlar, tugmalar, havolalar. Sahifaning butun mazmuni aynan shu yerga yoziladi.

Oddiy qoida: agar biror narsa ko'rinishi kerak bo'lsa β€” u <body> ichida bo'ladi. Agar u sahifa haqidagi ma'lumot (sozlama) bo'lsa β€” u <head> ichida bo'ladi.

title va meta teglari

<head> ichidagi eng muhim ikki narsa β€” title va meta teglari.

<title> β€” sahifaning sarlavhasi. U sahifada emas, balki brauzer yorlig'ida (tab) va qidiruv natijalarida ko'rinadi. Yaxshi title yozish β€” SEO (qidiruv tizimida yaxshi joy olish) uchun juda muhim:

<title>Bosh sahifa β€” Mening saytim</title>

<meta> teglari β€” sahifa haqidagi turli xil qo'shimcha ma'lumotlar (metama'lumot). Ular bo'sh teglar (yopuvchisi yo'q). Eng muhim ikkitasi:

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Sahifada matn o'rniga tushunarsiz belgilar (masalan, Балом) chiqsa β€” deyarli har doim sabab <meta charset="UTF-8"> ning yo'qligi. Uni <head> ning eng boshiga qo'ying.

Birinchi sahifani yozish

Endi hamma bilimni birlashtirib, o'z qo'lingiz bilan haqiqiy sahifa yasaymiz. Quyidagi qadamlarni bajaring:

  1. Kompyuteringizda yangi papka yarating (masalan, birinchi-sayt);
  2. Matn muharririda (VS Code tavsiya etiladi) yangi fayl yarating;
  3. Uni index.html nomi bilan saqlang (kengaytma aynan .html bo'lishi shart);
  4. Quyidagi kodni ko'chiring va faylni saqlang;
  5. Faylni brauzerda oching (ustiga ikki marta bosing yoki brauzerga tashlang).
<!DOCTYPE html>
<html lang="uz">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Men haqimda</title>
</head>
<body>
  <h1>Salom! Mening ismim Ali.</h1>
  <p>Men veb-dasturlashni endigina o'rganyapman.</p>
  <p>Bu β€” mening birinchi veb-sahifam!</p>
</body>
</html>

Brauzerda katta sarlavha va ikkita paragraf ko'rinadi. Yorliqda esa "Men haqimda" yozuvi turadi. Tabriklaymiz β€” siz endigina o'z birinchi veb-sahifangizni yaratdingiz!

HTML fayllar oddiy matn fayllari. Ularni o'zgartirish uchun hech qanday maxsus dastur shart emas β€” hatto oddiy "Bloknot" (Notepad) ham yetarli. Lekin VS Code kabi muharrirlar rang berish, avtomatik yakunlash va xatoni ko'rsatish bilan ishni ancha osonlashtiradi.

Bo'shliqlar va yangi qatorlar haqida

HTML kodida qancha bo'shliq (probel) yoki yangi qator qo'ymang, brauzer ularni bittaga qisqartiradi. Ya'ni kodda chiroyli tartib uchun bo'shliq qo'ysangiz ham, u sahifaga ta'sir qilmaydi:

<p>Bir     ikki       uch</p>

Bu kod brauzerda "Bir ikki uch" bo'lib, bitta bo'shliq bilan chiqadi. Agar matnni haqiqatan yangi qatordan boshlamoqchi bo'lsangiz, <br> tegini ishlating:

<p>Birinchi qator<br>
Ikkinchi qator</p>
Kodni chekinishlar (otstup, indentatsiya) bilan yozing β€” ichma-ich elementlarni ikki yoki to'rt bo'shliq bilan surib qo'ying. Bu sahifaga ta'sir qilmaydi, lekin kodni o'qishni juda osonlashtiradi va xatolarni kamaytiradi.

Kommentariylar (izohlar)

HTML'da kodga izoh qoldirish mumkin β€” bu matn sahifada ko'rinmaydi, faqat kodni o'qiyotgan dasturchi uchun. Izoh <!-- bilan boshlanib, --> bilan tugaydi:

<!-- Bu β€” sarlavha qismi -->
<h1>Xush kelibsiz</h1>
<!-- Quyida asosiy matn -->
<p>Saytimizga xush kelibsiz.</p>

Izohlar kodning qaysi qismi nima uchun ekanini eslatib turish yoki vaqtincha biror qatorni "o'chirib turish" (izohga o'rab qo'yish) uchun ishlatiladi.

Xulosa