HTML Academy · Lekcja

header nav main i footer

Strukturyzowanie głównych punktów orientacyjnych strony za pomocą znaczników semantycznych

Lekcja 1 z 413 kroki

header nav main i footer to bezpłatna lekcja HTML Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej HTML Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs HTML Academy zawiera 4 lekcji w sumie.

Elementy landmark HTML5

HTML5 wprowadził elementy landmark, które definiują regiony strony:

  • <header> — treść wprowadzająca lub nawigacja
  • <nav> — łącza nawigacyjne
  • <main> — główna, unikalna treść
  • <footer> — informacje w stopce

Zastępują one ogólne elementy <div> znaczącą strukturą.

Element header

Element <header> zawiera treść wprowadzającą:

<header>
  <a href="/" class="logo">
    <img src="logo.svg" alt="Company name">
  </a>
  <nav>...</nav>
  <button>Sign In</button>
</header>
<!-- header can appear multiple times: page header, article header -->
<!-- But only one page-level header per page is recommended -->

Element nav

Element <nav> grupuje łącza nawigacyjne:

<nav aria-label="Main navigation">
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/products">Products</a></li>
    <li><a href="/about">About</a></li>
    <li><a href="/contact">Contact</a></li>
  </ul>
</nav>
<!-- Use aria-label to distinguish multiple navs -->
<!-- Not every group of links is a nav — only major navigation -->

Wiele elementów nav

Strona może zawierać wiele elementów <nav> — każdy należy oznaczyć:

<nav aria-label="Main navigation">...</nav>
<nav aria-label="Breadcrumb">...</nav>
<nav aria-label="Footer links">...</nav>
<!-- aria-label tells screen reader users what each nav is for -->
<!-- Screen readers list landmarks — unique labels help navigation -->

Element main

Element <main> oznacza główną treść unikalną dla danej strony:

<main id="main-content">
  <h1>HTML5 Landmark Elements</h1>
  <p>Learn about semantic page structure...</p>
</main>
<!-- Rules:
  - Only ONE main element per page
  - Should not be a descendant of header, footer, aside, nav
  - id="main-content" enables skip links -->
<!-- Assistive tech users jump directly to main -->

Element footer

Element <footer> zawiera informacje w stopce:

<footer>
  <p>&copy; 2025 CoddyKit. All rights reserved.</p>
  <nav aria-label="Footer navigation">
    <a href="/privacy">Privacy Policy</a>
    <a href="/terms">Terms of Service</a>
  </nav>
</footer>
<!-- footer can appear multiple times: page footer, article footer -->
<!-- Page footer typically has copyright, links, contact -->

Szkielet strony

Kompletna semantyczna struktura strony:

<body>
  <header>
    <a href="/"><img src="logo.svg" alt="Site name"></a>
    <nav aria-label="Main">...</nav>
  </header>

  <main id="main-content">
    <h1>Page Title</h1>
    <p>Primary content here.</p>
  </main>

  <aside>Related content</aside>

  <footer>
    <p>&copy; 2025 Company</p>
  </footer>
</body>

Link pomijający nawigację

Należy dodać link pomijający nawigację, aby użytkownicy klawiatury mogli ją pominąć:

<a href="#main-content" class="skip-link">Skip to main content</a>

<header>... navigation ...</header>

<main id="main-content" tabindex="-1">
  <h1>Page Heading</h1>
</main>

/* CSS: */
.skip-link {
  position: absolute; top: -100%;
  background: #0070f3; color: white; padding: 0.5rem;
}
.skip-link:focus { top: 0; }

Role landmarków

Elementy landmark HTML5 są mapowane na role landmarków ARIA:

  • <header> → role="banner" (tylko na poziomie strony)
  • <nav> → role="navigation"
  • <main> → role="main"
  • <footer> → role="contentinfo" (tylko na poziomie strony)
  • <aside> → role="complementary"

Elementy header i footer w sekcjach

Elementy header i footer mogą występować wewnątrz <article> i <section>:

<article>
  <header>
    <h2>Article Title</h2>
    <p>By Jane Smith | March 2024</p>
  </header>
  <p>Article content...</p>
  <footer>
    <p>Tags: HTML, CSS</p>
  </footer>
</article>
<!-- In this context, header/footer are NOT banner/contentinfo roles -->
<!-- They are generic sections within the article -->

Typowe błędy

Należy unikać następujących błędów związanych z semantycznymi landmarkami:

  • Używania <nav> dla każdej grupy łączy
  • Umieszczania wielu elementów <main> na jednej stronie
  • Umieszczania <main> wewnątrz <header> lub <nav>
  • Używania <footer> dla treści, która nie jest stopką

Szybkie sprawdzenie

Ile elementów main powinna zawierać strona?

Podsumowanie: header, nav, main i footer

Najważniejsze informacje o elementach landmark:

  • <header> — treść wprowadzająca; może powtarzać się w poszczególnych sekcjach
  • <nav> — główna nawigacja; jeśli jest ich wiele, należy je oznaczyć za pomocą aria-label
  • <main> — unikalna główna treść; dokładnie jeden element na stronę
  • <footer> — treść stopki; może powtarzać się w poszczególnych sekcjach
  • Należy dodać link pomijający nawigację, wskazujący na id="main-content"
Bezpłatny start

Ucz się HTML dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
40
Lekcje
159

Często zadawane pytania

Czy lekcja „header nav main i footer” jest bezpłatna?

Tak — pełny tekst „header nav main i footer” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu HTML Academy, przejdź na CoddyKit PRO. Kurs HTML Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „header nav main i footer”?

Strukturyzowanie głównych punktów orientacyjnych strony za pomocą znaczników semantycznych Ćwiczysz HTML Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć HTML Academy?

Nie wymagamy żadnego doświadczenia. HTML Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „header nav main i footer”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji HTML Academy?

Tak. Każda lekcja HTML Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. header nav main i footer
  2. Element article — samodzielna treść
  3. Element section a div
  4. time address i mark
← Powrót do HTML Academy