header, nav, main, footer
Вэб хуудасны ерөнхий бүтцийг semantic элементүүдээр зохиох нь орчин үеийн HTML-ийн суурь мэдлэг. Энэ хичээлд хуудасны гол бүтцийг бүрдүүлдэг дөрвөн элементийг үзнэ.
<header> — толгой хэсэг
<header> нь хуудас эсвэл хэсгийн танилцуулга агуулгыг бүлэглэнэ. Ихэвчлэн лого, гарчиг, навигаци агуулдаг.
<header>
<a href="/">
<img src="/logo.svg" alt="ulaanbaatar.app лого" />
</a>
<h1>ulaanbaatar.app</h1>
<nav>
<a href="/courses">Сургалт</a>
<a href="/projects">Төсөл</a>
</nav>
</header>
Нэг хуудсанд хэдэн <header> байж болох вэ?
Олон байж болно. <header> нь хуудасны дээд хэсгийн зориулалттай биш — <article>, <section> дотор ч байж болно:
<body>
<!-- Хуудасны үндсэн header -->
<header>
<nav>...</nav>
</header>
<main>
<article>
<!-- Нийтлэлийн өөрийн header -->
<header>
<h2>Нийтлэлийн гарчиг</h2>
<p>Огноо: 2024-01-15 | Зохиолч: Бат</p>
</header>
<p>Нийтлэлийн агуулга...</p>
</article>
</main>
</body>
<nav> — навигаци
<nav> нь хуудас хоорондын навигацийн холбоосуудын бүлэг. Гол цэс, breadcrumb, хуудасны дотоод холбоосуудад ашиглана.
<!-- Үндсэн цэс -->
<nav aria-label="Үндсэн цэс">
<ul>
<li><a href="/">Нүүр</a></li>
<li><a href="/courses">Сургалт</a></li>
<li><a href="/projects">Төсөл</a></li>
<li><a href="/profile">Профайл</a></li>
</ul>
</nav>
<!-- Breadcrumb навигаци -->
<nav aria-label="Breadcrumb">
<ol>
<li><a href="/">Нүүр</a></li>
<li><a href="/courses">Сургалт</a></li>
<li>HTML</li>
</ol>
</nav>
Нэг хуудсанд олон <nav> байж болно — aria-label ашиглан ялгаж өгнө. Хөлийн жижиг холбоос бүлэг (privacy policy, terms) заавал <nav> болохгүй.
<main> — үндсэн агуулга
<main> нь хуудасны голлох, давтагдахгүй агуулгыг агуулна. Нэг хуудсанд ганц л <main> байна.
<body>
<header>...</header>
<!-- Хуудас бүрт давтагддаг зүйл биш — энэ хуудасны өөрийн агуулга -->
<main>
<h1>HTML сургалт</h1>
<p>Хуудасны үндсэн агуулга энд...</p>
</main>
<footer>...</footer>
</body>
<main> нь <header>, <footer>, <nav>, <aside> дотор байж болохгүй — эдгээрийн ах дүү мөн байр суурьтай.
<footer> — хөл хэсэг
<footer> нь хуудас эсвэл хэсгийн хөл агуулгыг бүлэглэнэ. Зохиогчийн эрх, холбоо барих, туслах холбоосуудыг ихэвчлэн агуулдаг.
<footer>
<p>© 2024 ulaanbaatar.app — Бүх эрх хуулиар хамгаалагдсан.</p>
<nav aria-label="Хөлийн холбоос">
<a href="/privacy">Нууцлалын бодлого</a>
<a href="/terms">Үйлчилгээний нөхцөл</a>
</nav>
</footer>
<header> шиг <footer> ч <article>, <section> дотор байж болно:
<article>
<header>
<h2>Нийтлэлийн гарчиг</h2>
</header>
<p>Нийтлэлийн агуулга...</p>
<!-- Нийтлэлийн хөл -->
<footer>
<p>Зохиолч: Бат | <a href="#comments">12 сэтгэгдэл</a></p>
</footer>
</article>
Хуудасны бүтэн жишээ
<!DOCTYPE html>
<html lang="mn">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ulaanbaatar.app — HTML сургалт</title>
</head>
<body>
<!-- Хуудасны толгой — бүх хуудсанд давтагдана -->
<header>
<a href="/">
<strong>ulaanbaatar.app</strong>
</a>
<nav aria-label="Үндсэн цэс">
<a href="/courses">Сургалт</a>
<a href="/projects">Төсөл</a>
<a href="/profile">Профайл</a>
</nav>
</header>
<!-- Энэ хуудасны өөрийн агуулга -->
<main>
<h1>HTML сургалт</h1>
<p>Вэбийн бүтцийг эхнээс нь сур.</p>
</main>
<!-- Хуудасны хөл — бүх хуудсанд давтагдана -->
<footer>
<p>© 2024 ulaanbaatar.app</p>
<nav aria-label="Хөлийн холбоос">
<a href="/about">Бидний тухай</a>
<a href="/contact">Холбоо барих</a>
</nav>
</footer>
</body>
</html>
Элементүүдийн үүргийн хураангуй
| Элемент | Үүрэг | Тоо |
|---------|-------|-----|
| <header> | Толгой хэсэг | Олон байж болно |
| <nav> | Навигацийн холбоос | Олон байж болно |
| <main> | Үндсэн агуулга | Зөвхөн нэг |
| <footer> | Хөл хэсэг | Олон байж болно |
Дараагийн хичээлд:
<article>, <section>, <aside> элементүүдийг үзнэ. Агуулгын бүтцийг зохион байгуулахад эдгээр гурвыг хэрхэн ялгаж ашиглах талаар тайлбарлана.