header nav main i footer
Strukturyzowanie głównych punktów orientacyjnych strony za pomocą znaczników semantycznych
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>© 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>© 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"
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
- header nav main i footer
- Element article — samodzielna treść
- Element section a div
- time address i mark