HTML: veb sahifani noldan quring
Har bir sayt HTML bilan qurilgan. Kod yozasiz va natijani xuddi shu yerda, jonli brauzer oynasida darrov ko'rasiz. Teg anatomiyasidan to'liq sahifa qurishgacha.
Bu natijani qaysi teg beradi?
Xush kelibsiz! HTML (HyperText Markup Language), bu veb sahifalar tili. U brauzerga sahifada nima borligini aytadi: sarlavha, matn, rasm, tugma. Bu kursda har tushunchani ko'z bilan ko'rasiz va o'zingiz sinab ko'rasiz. Boshlaymiz.
HTML nima?
Veb sahifa qanday ishlaydi
Siz HTML kodini yozasiz, brauzer uni o'qiydi va ekranga sahifa qilib chizadi. Ya'ni HTML, bu sizning ko'rsatmalaringiz; brauzer esa ularni bajaruvchi. Quyida chap tomonda kod, o'ng tomonda brauzer natijasi. Kodni o'zgartiring va o'ng tomon darrov yangilanishini ko'ring.
Teg (tag) nima
HTML burchakli qavslar < > ichidagi teglardan tuziladi. Har teg brauzerga "bu qism nima ekanini" aytadi. Ko'pincha teg juft bo'ladi: «ochuvchi» teg boshlaydi, «yopuvchi» teg tugatadi, ular orasida esa «kontent» (matn) turadi.
<h1> katta sarlavha yasaydiLekin hamma teg ham juft emas. Ba'zilari «toq» (yolg'iz) bo'ladi: ular yopilmaydi, chunki ichida kontent yo'q. Bu ikki turni ajratib olish HTMLdagi eng muhim asoslardan biri:
Ochuvchi va yopuvchi teg birga. Orasida kontent bor. Masalan: <h1>, <p>, <div>.
Yolg'iz keladi, yopuvchisi yo'q. Ichi bo'sh. Masalan: <br>, <hr>, <img>.
Endi o'zingiz sinang. Quyidagi muharrirda matnni <h1> yoki <p> teglari bilan o'rang va natijani kuzating:
<h1> eng katta sarlavha, <p> esa oddiy xatboshi (paragraf) yasaydi.Birinchi amaliyot
Endi o'zingiz kichik sahifa yasang. Muharrirda bitta sarlavha va bitta paragraf bo'lishi kerak. Vazifa bajarilsa, quyidagi belgi yashil bo'ladi.
<h1>) allaqachon bor. Pastiga o'zingizning paragrafingizni (<p>...</p>) qo'shing. Ikkalasida ham matn bo'lsin.Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Sahifa skeleti
To'liq sahifa skeleti
Haqiqiy HTML sahifa yolg'iz teglardan emas, balki standart «skelet»dan boshlanadi. Bu skelet brauzerga sahifani qanday o'qishni aytadi. Deyarli har sahifa quyidagi qismlardan iborat:
<html> butun sahifani o'raydi; ichida <head> (ko'rinmas) va <body> (ko'rinadigan) bo'ladiHar qismning vazifasi:
<!DOCTYPE html>: brauzerga «bu HTML5» deydi (birinchi qatorda turadi).<html lang="uz">: butun sahifani o'raydi;lang="uz"sahifa tili o'zbekcha ekanini bildiradi (qidiruv tizimi va tarjimonlar uchun muhim).<meta charset="utf-8">: harflar kodlashini belgilaydi. Busiz o'zbekcha yoki boshqa harflar buzuq chiqishi mumkin.<head>ichida birinchi bo'lishi kerak. Bu toq teg (yopilmaydi).<head>: ko'rinmaydigan ma'lumot (sozlamalar, sahifa nomi).<body>: ko'rinadigan qism (sarlavha, matn, rasm).<title>: sahifa nomi; brauzer tabida chiqadi.
Quyida to'liq skelet. O'zgartiring va natijani kuzating:
<meta name="viewport"> bo'ladi (telefon ekraniga moslash uchun); buni media modulida ko'ramiz.head va body farqi
<head> va <body>, bu sahifaning ikki asosiy qismi. <head> ichidagisi ekranda ko'rinmaydi (u faqat sahifa haqidagi ma'lumot). <body> ichidagisi esa ekranda ko'rinadi.
<head> dagi <title> brauzer tabida chiqadi; <body> esa sahifada ko'rinadiSinab ko'ring: <head> dagi <title> natijada ko'rinmaydi, faqat <body> dagi matn ko'rinadi:
<title> matni brauzerning varaq (tab) sarlavhasida chiqadi, sahifa ichida emas.Amaliyot: sahifaga nom bering
Quyida to'liq skelet bor, lekin sahifaning nomi bo'sh. <title> teg ichiga o'z sahifangiz nomini yozing.
<title> va </title> orasiga sahifangiz nomini yozing (masalan, ismingiz yoki sayt nomi).Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Matn va sarlavhalar
Sarlavhalar: h1 dan h6 gacha
Sarlavha uchun 6 ta daraja bor: <h1> eng katta, <h6> eng kichik. Ular matnni bo'limlarga ajratadi. Sahifada odatda bitta <h1> (asosiy sarlavha), qolganlari kichik bo'limlar uchun ishlatiladi.
<h1> eng katta, <h6> eng kichikMuharrirda sarlavha raqamini o'zgartiring (1 dan 6 gacha) va o'lcham qanday o'zgarishini ko'ring:
Paragraflar: p, br va probel
Oddiy matn <p> (paragraph, xatboshi) ichiga yoziladi. Har bir <p> alohida blok bo'lib, oldidan va keyinidan bo'sh joy qoldiradi. Muhim qoida: HTML kodidagi ortiqcha probel va yangi qatorlar brauzerda bitta probelga aylanadi. Ya'ni kodda 10 ta probel qo'ysangiz ham, ekranda bitta bo'ladi.
Matn ichida ataylab yangi qatordan boshlash uchun <br> (toq teg), bo'limlarni ajratuvchi chiziq uchun <hr> ishlatiladi. Quyida sinab ko'ring: birinchi xatboshidagi ortiqcha probellar siqiladi, ikkinchisida <br> yangi qator beradi:
<br>, yangi xatboshi uchun esa yangi <p> ishlating.Styles: stil atributi
Elementning ko'rinishini (rang, o'lcham, fon) o'zgartirish uchun unga style atributi beriladi. Uning ichiga CSS xossalari xossa: qiymat ko'rinishida, ; bilan ajratib yoziladi. Bu «ichki stil» (inline CSS) deb ataladi.
xossa: qiymat juftlari ; bilan ajratiladiEng ko'p ishlatiladigan xossalar:
color: matn rangi (masalanredyoki#e34f26)background-color: fon rangifont-size: matn o'lchami (masalan20px)text-align: joylashuv (left,center,right)font-family: shrift turi (masalanGeorgia)padding: ichki bo'shliq (masalan10px)
Quyida jonli sinab ko'ring: qiymatlarni o'zgartiring va ko'rinish qanday o'zgarishini kuzating:
style atributi tez va oson, lekin uni har bir elementga alohida yozish kerak. Ko'p element bir xil ko'rinishi uchun keyinroq alohida CSS (class bilan) ishlatiladi, bu 7-modulda tilga olinadi.Matn formatlash teglari
Oddiy matn <p> (paragraf) ichiga yoziladi. Ichidagi ba'zi so'zlarni ajratish uchun ko'plab teglar bor. Avval bitta muhim tushuncha: teglar tuzilishiga ko'ra ikki turga bo'linadi.
Ochuvchi va yopuvchi teg birga keladi, ular orasida kontent (matn) turadi. Teglarning aksariyati shunday.
Yolg'iz keladi, yopuvchi qismi yo'q. Ichida kontent bo'lmaydi. Masalan: <br>, <hr>, <img>.
Quyida asosiy formatlash teglari: kodi, tayyor natijasi, vazifasi va turi. Natija ustunida haqiqiy ko'rinishni kuzating:
| Teg | Natija | Vazifasi | Turi |
|---|---|---|---|
<strong> | matn | Muhim matn (qalin + ma'no) | juft |
<b> | matn | Qalin (faqat ko'rinish) | juft |
<em> | matn | Urg'uli matn (qiya + ma'no) | juft |
<i> | matn | Qiya (faqat ko'rinish) | juft |
<mark> | matn | Belgilangan (rangli fon) | juft |
<ins> | matn | Qo'shilgan matn (tag chiziq) | juft |
<u> | matn | Tag chiziq (faqat ko'rinish) | juft |
<del> | O'chirilgan matn | juft | |
<s> | Eskirgan (chizib tashlangan) | juft | |
<sub> | H2O | Pastki indeks | juft |
<sup> | x2 | Yuqori indeks (daraja) | juft |
<code> | a = 5 | Kod (bir xil enli shrift) | juft |
<q> | salom | Qisqa iqtibos (qo'shtirnoq qo'shadi) | juft |
<marquee> | Matnni siljitadi (eskirgan) | juft | |
<br> | 1-qator 2-qator | Yangi qatordan boshlaydi | toq |
<hr> | Bo'limlarni ajratuvchi chiziq | toq |
<marquee> (harakatlanuvchi matn) eskirgan teg. Brauzerlar hali ko'rsatadi, lekin zamonaviy saytlarda uning o'rniga CSS animatsiya ishlatiladi.<b> va <strong> ikkalasi ham qalin ko'rsatadi, lekin <strong> «bu muhim» ma'nosini beradi (qidiruv tizimi va ekran o'quvchi buni tushunadi). Xuddi shunday <i> va <em>. Iloji bo'lsa ma'noli variantni (<strong>, <em>) tanlang.Endi o'zingiz sinab ko'ring. So'zlarni turli teglar bilan o'rab, natijasini kuzating:
Comments: izohlar
Izoh (comment), bu kodga o'zingiz uchun yozadigan eslatma. Brauzer uni o'qimaydi va ekranda ko'rsatmaydi. Izoh <!-- bilan boshlanib, --> bilan tugaydi; ular orasidagi hamma narsa yashirin qoladi. Izoh ikki narsaga kerak: (1) kodni tushuntirish, (2) biror qismni vaqtincha «o'chirib qo'yish» (o'chirmasdan yashirish).
<!-- ... --> ichidagi hamma narsa brauzerda ko'rinmaydiQuyida sinab ko'ring: izoh va izohga olingan paragraf natijada chiqmaydi:
<!-- va --> orasiga oling. Keyin kerak bo'lganda izoh belgilarini olib tashlab, qaytarasiz.Amaliyot: kichik maqola
Sahifada sarlavha va paragraf bor. Endi paragrafdagi biror so'zni <b> teg bilan qalin qiling.
<h1>-<h6>) va paragraf (<p>) bo'lsin, hamda kamida bitta so'z <b> bilan qalin bo'lsin.Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Ro'yxat va havolalar
Ro'yxatlar: ul, ol va li
Ro'yxat uch tegdan tuziladi. Tashqi teg butun ro'yxatni o'raydi: <ul> (belgili, tartibsiz) yoki <ol> (raqamli, tartibli). Ichkarida esa har bir band alohida <li> (list item) teg ichida yoziladi. Ya'ni matnni to'g'ridan-to'g'ri emas, doim <li>...</li> orasiga qo'yasiz, keyin barcha <li> larni <ul> yoki <ol> ichiga joylaysiz.
<li> bandlar (kodda nuqta yoki raqam yo'q). Faqat tashqi teg farq qiladi: <ul> belgi (•), <ol> raqam (1.) chizadiMuharrirda ro'yxatga yana <li> qo'shing yoki <ul> ni <ol> ga o'zgartirib, natijani kuzating:
Belgi yoki raqamning ko'rinishini type atributi bilan tanlaysiz. U ochuvchi tegga yoziladi, masalan <ul type="square">. Quyida barcha qiymatlar va tayyor natijasi:
| Kod | Natija | Izoh |
|---|---|---|
<ul type="disc"> |
| To'la doira (standart) |
<ul type="circle"> |
| Bo'sh doira |
<ul type="square"> |
| To'la kvadrat |
<ol type="1"> |
| Raqam (standart) |
<ol type="A"> |
| Katta harf: A, B, C |
<ol type="a"> |
| Kichik harf: a, b, c |
<ol type="I"> |
| Katta rim: I, II, III |
<ol type="i"> |
| Kichik rim: i, ii, iii |
<ul> ni tartib muhim bo'lmaganda (xaridlar ro'yxati), <ol> ni tartib muhim bo'lganda (retsept qadamlari) ishlating. <ol> da yana start="5" (5 dan boshlash) va reversed (teskari sanash) atributlari ham bor.Havolalar va atributlar
Havola (link) bosilganda boshqa sahifaga olib boradi. U <a> teg bilan yaratiladi. Lekin <a> qayerga borishini bilishi kerak, buni atribut orqali aytamiz.
Atribut, bu teg ichidagi qo'shimcha ma'lumot. U nom="qiymat" ko'rinishida ochuvchi teg ichida yoziladi. Havola uchun bu atribut href (manzil) deb ataladi:
href qayerga borishni, teg ichidagi matn esa nima ko'rinishini belgilaydiMuharrirda havola matnini yoki manzilini o'zgartiring va natijadagi havolani bosib ko'ring:
target="_blank" atributini qo'shsangiz, havola yangi tabda ochiladi: <a href="..." target="_blank">.Amaliyot: menyu yasang
Kichik menyu yasang: bitta ro'yxat va bitta havola bo'lsin.
<ul> yoki <ol>, ichida <li>) va bitta havola (<a href="...">) bo'lsin.Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Rasm va media
Rasm qo'yish: img
Sahifaga rasm qo'yish uchun <img> teg ishlatiladi. U toq (yolg'iz) teg, ya'ni yopilmaydi. Rasmning o'zi kod ichida bo'lmaydi, teg faqat rasm qayerdaligini ko'rsatadi. Buning uchun ikki muhim atribut bor: src (rasm manzili) va alt (rasm chiqmasa yoki ko'rish imkoniyati cheklangan foydalanuvchi uchun matn).
src rasm manzili (fayl nomi yoki havola), alt esa uni tavsiflovchi matnMuharrirda alt matnini yoki width (kenglik) qiymatini o'zgartiring va natijani kuzating:
alt matni chiqadi; ekran o'quvchi buni ovoz bilan o'qiydi; qidiruv tizimi rasm nima ekanini shundan tushunadi. Shuning uchun har doim mazmunli alt yozing.O'lcham va boshqa media
Rasm o'lchamini width (kenglik) va height (balandlik) atributlari piksel bilan belgilaydi. Ko'pincha faqat bittasi (masalan width) yoziladi, ikkinchisi mutanosib o'zgaradi.
width kenglikni, height balandlikni piksel bilan belgilaydiMuharrirda width qiymatini o'zgartiring va rasm qanday kichrayib-kattalashishini ko'ring:
Rasmdan tashqari yana video va audio ham qo'yish mumkin. Ular juft teg va controls atributi bilan ijro tugmalarini ko'rsatadi:
<img>: rasmni ko'rsatadi (src,alt). Toq teg.<video controls>: videoni ijro etadi (play, pauza, ovoz). Juft teg.<audio controls>: audioni ijro etadi. Juft teg.
Quyida jonli namuna: controls atributi ijro tugmalarini chiqaradi. Video va audio pleyerlarini bosib sinab ko'ring:
width yetarli.YouTube videosini joylash
Boshqa saytdagi videoni (masalan YouTube) o'z sahifangizga qo'yish uchun <iframe> ("ichki ramka") ishlatiladi. YouTube videosini oching, "Share" (Ulashish), keyin "Embed" (Kodni joylash) tugmasini bosing va berilgan <iframe> kodini nusxalab sahifaga qo'ying. src ichida video manzili, width/height esa o'lchami turadi:
<iframe width="420" height="236" src="https://www.youtube.com/embed/tgbNymZ7vqY" title="YouTube video"></iframe>
Yuqoridagi kod aynan quyidagi videoni sahifaga joylaydi (bosib ijro eting):
<iframe> orqali qo'yiladi. Video ID (embed/ dan keyingi qism) har bir videoda boshqacha bo'ladi.Amaliyot: rasmga alt bering
Quyidagi rasmda alt yo'q. Unga mazmunli alt matnini qo'shing.
<img> tegiga bo'sh bo'lmagan alt="..." atributini qo'shing (rasm nimani ko'rsatishini yozing).Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Jadval va formalar
Jadval: table, tr, th, td
Ma'lumotni qator va ustunlarga joylash uchun jadval ishlatiladi: <table> butun jadval, <tr> bitta qator (table row), <th> sarlavha katak (qalin, markazda), <td> oddiy katak (table data). Chegara ko'rinishi uchun <table> tegiga border="1" atributini beramiz (bu HTML atribut), cellpadding="6" esa kataklar ichiga bo'sh joy qo'yadi.
<table> jadval, <tr> qator, <th> sarlavha katak, <td> oddiy katakQuyida ikki ustunli jadval. Kataklar (<td>) matnini o'zgartiring yoki yangi qator (<tr>) qo'shib ko'ring:
<table> ichida <tr>, <tr> ichida <th> yoki <td> keladi. Ustunlar soni har qatorda bir xil bo'lgani ma'qul.Kataklarni birlashtirish: colspan, rowspan
Ba'zan bitta katak bir nechta ustun yoki qatorni egallashi kerak. colspan="2" katakni gorizontal birlashtiradi (2 ustun kengligida). rowspan="2" katakni vertikal birlashtiradi (2 qator balandligida). Katak birlashtirilganda, uning o'rniga keyingi qator yoki ustunda ortiqcha <td> yozilmaydi.
colspan katakni bir nechta ustunga, rowspan bir nechta qatorga cho'zadiQuyida colspan (yuqori sarlavha 2 ustun) va rowspan ("Til" 2 qator) birga ishlatilgan. Sonlarni o'zgartirib ko'ring:
colspan = ustun bo'yicha (gorizontal), rowspan = qator bo'yicha (vertikal). Birlashtirilgan katak nechta joyni egallasa, o'sha qatorlarda shuncha <td> kam yoziladi.Forma va input turlari
Foydalanuvchidan ma'lumot olish uchun forma ishlatiladi. Forma <form> ichida bo'ladi: <label> maydon nomi (yorliq), <input> kiritish maydoni, <button> tugma. <input> ning type atributi maydon turini belgilaydi. Quyida asosiy turlar keltirilgan (har birini bosib sinab ko'ring):
| type | Ko'rinishi | Tavsif |
|---|---|---|
text | Oddiy bir qatorli matn | |
password | Yashirin parol (nuqtalar) | |
email | Email (@ belgisini tekshiradi) | |
number | Faqat raqam (o'q tugmalari bilan) | |
tel | Telefon raqami | |
url | Havola (URL) manzili | |
search | Qidiruv maydoni | |
date | Sana tanlash (kalendar) | |
time | Vaqt tanlash | |
datetime-local | Sana va vaqt birga | |
month | Oy va yil | |
week | Yil va hafta | |
color | Rang tanlash | |
range | Slayder (diapazon) | |
checkbox | Belgilash katakchasi (ko'p tanlov) | |
radio | Doiracha (bittasini tanlash) | |
file | Fayl yuklash | |
submit | Formani yuboradigan tugma | |
reset | Maydonlarni tozalaydigan tugma | |
button | Oddiy tugma | |
hidden | ko'rinmaydi | Yashirin maydon (ma'lumot uchun) |
Ikki muhim atribut: placeholder maydon bo'sh turganda ichida maslahat matnini ko'rsatadi; required esa maydonni to'ldirishni majburiy qiladi (bo'sh bo'lsa forma yuborilmaydi). Quyida jonli forma:
placeholder="Ismingiz" kulrang maslahat matni; required qiymatsiz atribut, u bor bo'lsa maydonni bo'sh qoldirib bo'lmaydi. <input> toq teg, yopilmaydi.textarea, radio, checkbox, select
<input> dan tashqari yana bir nechta maydon turi bor:
<textarea>: ko'p qatorli matn (izoh, xabar). Juft teg.rowsatributi balandligini beradi.<input type="radio">: variantlardan faqat bittasi tanlanadi. Bir guruh bo'lishi uchun ularningnameatributi bir xil bo'lishi shart.<input type="checkbox">: bir nechta variantni birga belgilash mumkin.<select>va ichidagi<option>: ochiluvchi ro'yxat (dropdown).
radio doiracha (bittasini tanlash), checkbox katakcha (bir nechtasini)Quyida hammasi jonli. Radio, checkbox va ochiluvchi ro'yxatni bosib ko'ring:
name bering (masalan ikkalasiga ham name="jins"). Shundagina ular bitta guruh bo'lib, faqat bittasi tanlanadi.Amaliyot: formaga izoh maydoni qo'shing
Quyidagi formada ism maydoni va tugma bor. Unga izoh yozish uchun <textarea> qo'shing.
<textarea></textarea> (izoh maydoni) qo'shing.Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Struktura: div, span, class, id
div: elementlarni guruhlash
Katta sahifada elementlarni guruhlarga ajratish kerak bo'ladi: yuqori qism, asosiy qism, pastki qism. Buning uchun <div> tegi ishlatiladi. <div> o'zi hech qanday ko'rinish bermaydi, u shunchaki bir nechta elementni bitta quti ichiga oladi. Bu quti keyinroq CSS bilan bezatiladi yoki joyi belgilanadi.
<div> bir nechta elementni bitta ko'rinmas quti ichiga birlashtiradiQuyida <div> ichiga sarlavha va matn joylashtirilgan. Chegara (border) qutini ko'rsatib turibdi:
span va block/inline elementlar
HTML elementlari ikki asosiy turga bo'linadi: block va inline. Block element har doim yangi qatordan boshlanadi va butun enni (chapdan o'nggacha) egallaydi: <div>, <p>, <h1>-<h6>, <ul>, <li>, <table>, <form>. Inline element esa yangi qator ochmaydi; faqat o'z kontenti qadar joy egallaydi va matn ichida yonma-yon turadi: <span>, <a>, <b>, <img>, <input>. Shuning uchun <div> block quti (kattaroq bo'laklarni guruhlaydi), <span> esa inline quti (matn ichidagi kichik bo'lakni belgilaydi).
Quyida farqni ko'ring: ikki <div> (block) yangi qatordan boshlanadi va to'liq enlik; <span> (inline) esa jumla ichida yonma-yon turadi. Fon rangi qutilarning enini ko'rsatadi:
<div>.class va id: yorliq berish
Elementlarga yorliq (belgi) berish mumkin. Ikki xil yorliq bor: class va id. class bu guruh yorlig'i: uni bir nechta elementga berish mumkin (masalan hamma kartalarga class="karta"). id esa yagona yorliq: u sahifada faqat bitta elementga beriladi (masalan asosiy blokka id="asosiy"). Bu yorliqlar keyinroq CSS va JavaScript uchun kerakli elementni topishga yordam beradi.
class bir nechta elementga qo'yiladi (takrorlanadi); to'q sariq id faqat bittasiga (yagona)Quyidagi kodda <style> ichida .karta (class) va #asosiy (id) bezatilgan. Ikkala div ham karta class'iga ega, lekin faqat bittasi asosiy id'ga ega:
class takrorlanadi (ko'p element), id takrorlanmaydi (bitta, yagona element). Bir elementda ikkalasi ham bo'lishi mumkin. CSS'da . class'ni, # id'ni bildiradi.Amaliyot: karta yasang
Quyida yashil chegarali .mahsulot uslubi tayyor turibdi. Endi shu class'li <div> ni o'zingiz yozing va ichiga biror matn qo'ying.
<div class="mahsulot">...</div> yozing (yashil ramka paydo bo'lsin).Mashqlar: mustahkamlash
Quyidagi kichik vazifalarni birma-bir bajaring. Har birida kod yozing va natijani darhol yonida ko'ring. Uchala mashq to'g'ri bo'lsa, bo'lim yakunlanadi.
Modul testi
Semantik HTML va yakuniy loyiha
Semantik teglar: header, nav, main, footer
Hozirgacha guruhlash uchun <div> ishlatdik. Lekin <div> «bu nima» ekanini bildirmaydi. HTML5 semantik (ma'noli) teglarni beradi: ular xuddi <div> kabi guruhlaydi, lekin qism vazifasini ham aytadi. Asosiylari: <header> yuqori qism (logo, sarlavha), <nav> menyu (havolalar), <main> asosiy kontent (sahifada bitta), <footer> pastki qism (mualliflik, aloqa).
header, nav, main, footerQuyida jonli sinab ko'ring (ranglar qismlarni ajratib turibdi, ular oddiy bloklar kabi tepadan pastga joylashadi):
<div> bilan bir xil, lekin ma'nosi aniq.section, article, aside va sahifa tuzilishi
Asosiy kontent (<main>) ichida yana ma'noli teglar bor: <section> mavzuli bo'lim (masalan «So'nggi yangiliklar»), <article> mustaqil, alohida turadigan kontent (bitta maqola yoki blog posti), <aside> yon panel (qo'shimcha havolalar, reklama). To'liq sahifa odatda shunday quriladi: yuqorida header va nav, o'rtada main (ichida article va aside), pastda footer.
<main> ichida asosiy <article> va yon <aside> joylashadiQuyida <main> ichidagi <article> va <aside> (yonma-yon joylashuvi CSS bilan berilgan):
<section> bir mavzuli bo'lim, <article> esa o'zi mustaqil (uni boshqa saytga ko'chirsangiz ham mazmuni tushunarli qoladi, masalan xabar yoki sharh).Yaxshi amaliyot (Best Practices)
Professional HTML bir nechta oddiy qoidaga amal qiladi. Ular kodni toza, to'g'ri va hamma uchun qulay qiladi:
- Teglarni kichik harfda yozing:
<p>,<P>emas. - Atribut qiymatlarini qo'shtirnoqqa oling:
class="box". - Har
<img>ga mazmunlialtbering. - Sahifada faqat bitta
<h1>ishlating. - Sahifa boshida
<!DOCTYPE html>,<html lang="uz">,<meta charset="utf-8">bo'lsin. <div>o'rniga imkon boricha semantik teglardan foydalaning.- Kodni ichma-ich chekinish (indentation) bilan tartibli yozing.
- Teglarni doim yoping va to'g'ri joylang (ichma-ich tartibda).
Bir xil natija beruvchi ikki kod, lekin sifat farqi katta:
Katta harf, alt yo'q, qo'shtirnoq yo'q, div ishlatilgan.
Kichik harf, alt bor, qo'shtirnoq bor, semantik teg.
Yakuniy loyiha: shaxsiy sahifa
Endi hamma o'rgangan narsangizni birlashtirib, to'liq bir sahifa quramiz. Quyidagi skeletni to'ldiring: menyuga havolalar, asosiy qismga ro'yxat qo'shing.
<header>+<h1>, <nav>+kamida bitta havola (<a href>), <main>+ro'yxat (<ul>/<li>), va <footer>.Yakuniy amaliy loyiha
Tabriklaymiz, kursning barcha modul mavzularini yakunladingiz! Endi eng muhim qadam, yakuniy loyiha. Quyidagi tugmani bosing, to'liq ekranli kod studiyasi ochiladi: chapda kod yozasiz, o'ng tomonda «Namuna» (siz yasashingiz kerak bo'lgan tayyor sahifa) va «Natija» (sizning jonli natijangiz) yorliqlari bo'ladi. Studio ochilganda kursning qolgan qismi ko'rinmaydi, siz faqat loyihaga e'tibor qaratasiz.
Bu tugma barcha dars mavzularini tugatganingizdan so'ng faollashadi.
Modul testi
50 savollik yakuniy test
Yakuniy test
Barcha 8 modul bo'yicha 50 ta savol. Sertifikatga yetish uchun kamida 40/50 to'g'ri javob bering.