HTML I CSS · INF.03 · MODUŁ 01
Struktura dokumentu HTML
Każda strona zaczyna się od szkieletu. Poznasz elementy, które muszą być na miejscu, zanim napiszesz pierwszą linię treści.
Wprowadzenie
HTML (HyperText Markup Language) opisuje strukturę dokumentu. Nie jest językiem programowania — nie liczy ani nie podejmuje decyzji. Znacznikami mówisz przeglądarce, co jest nagłówkiem, akapitem, listą czy linkiem.
Przeglądarka pobiera plik HTML, czyta znaczniki i buduje z nich drzewo elementów. Dopiero na tej podstawie rysuje stronę. Dlatego ten sam kod może wyglądać trochę inaczej w Chrome i w Firefoksie, ale struktura treści pozostaje ta sama.
Każdy dokument ma stały szkielet: deklarację typu dokumentu, element <html>, sekcję <head> z informacjami o stronie oraz <body> z treścią widoczną w oknie przeglądarki.
W <head> znajdziesz kodowanie znaków, ustawienia ekranu i tytuł karty. W <body> — nagłówki, akapity, listy i wszystko, co czyta użytkownik. Komentarz <!-- ... --> może leżeć w dowolnym miejscu, ale przeglądarka go nie wyświetla.
Najpierw <!doctype html>, potem <html>, w nim <head> i <body>. Edytor podpowiada resztę, ale kolejność musisz rozumieć.
Najważniejsza własność
Najważniejsza własność dokumentu HTML to poprawna struktura: jeden element <html>, w nim jedna sekcja <head> i jedno <body>. Przeglądarka potrafi naprawić wiele błędów, ale nie zastąpi brakujących informacji.
<!doctype html> → <html lang="pl"> → <head> + <body>
Deklaracja <!doctype html> uruchamia tryb standardów. Bez niej przeglądarka może przejść w tryb zgodności i inaczej liczyć wymiary elementów. Atrybut lang="pl" informuje czytniki ekranu i wyszukiwarki, w jakim języku jest treść.
Elementy <meta> przekazują informacje, których nie widać na stronie. charset="utf-8" zapewnia poprawne polskie znaki, a viewport mówi telefonowi, jak dopasować szerokość strony do ekranu. Tytuł z <title> pojawia się na karcie przeglądarki i w wynikach wyszukiwania.
| Element | Rola | Ważna uwaga |
|---|---|---|
<!doctype html> | tryb standardów | pierwsza linia dokumentu |
<html lang="pl"> | korzeń dokumentu i język | jeden na stronę |
<head> | metadane strony | niewidoczny w treści |
<meta charset="utf-8"> | kodowanie znaków | na początku sekcji head |
<meta name="viewport" ...> | dopasowanie do ekranu | szczególnie ważne na telefonie |
<title> | tytuł karty | obowiązkowy i opisowy |
<body> | treść widoczna | jeden na stronę |
Najpierw charset, potem viewport, na końcu title. Tytuł jest obowiązkowy — bez niego karta pokaże adres pliku.
Most: od teorii do kodu
Sprawdź początek dokumentu
Najpierw przypomnij sobie deklarację typu dokumentu, a potem uzupełnij atrybuty w szkielecie strony.
Poprawna deklaracja
przewidywanieCo powinno znaleźć się w pierwszej linii tego dokumentu?
<html lang="pl">
<head>...</head>
<body>...</body>
</html>
Poprawny zapis to <!doctype html> — bez numeru wersji i bez cudzysłowów. Przeglądarka rozpoznaje go niezależnie od wielkości liter, ale przyjęło się pisać małymi literami.
Uzupełnij szkielet
uzupełnianie lukWybierz brakujące atrybuty, aby dokument miał poprawny język i kodowanie.
<!doctype html>
<html ="pl">
<head>
<meta ="utf-8">
<title>Moja strona</title>
</head>
<body>
<h1>Witaj</h1>
</body>
</html>
Język deklaruje atrybut lang w elemencie <html>. Kodowanie znaków ustawia atrybut charset w elemencie <meta>.
Przykłady
Zbuduj dokument, który ma tylko wymagany szkielet i jedną treść. Zwróć uwagę na kolejność elementów w sekcji head.
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Moja pierwsza strona</title>
</head>
<body>
<h1>Witaj na mojej stronie</h1>
<p>To jest pierwszy akapit. Przeglądarka pokazuje tylko treść z body.</p>
</body>
</html>
- Deklaracja
<!doctype html>mówi, że to dokument HTML5. - Element
<html lang="pl">obejmuje całość i wskazuje język polski. - W
<head>są metadane: kodowanie i tytuł. W<body>— treść. - Przeglądarka dorysowuje domyślne marginesy wokół nagłówka i akapitu.
Wynik: poprawny, kompletny dokument HTML5. Tytuł pojawia się na karcie, a treść w oknie przeglądarki.
Most: sprawdź kod
Znajdź błędy w szkielecie
Dwie linie do poprawy
zaznaczanie błędówZaznacz linie, w których jest błąd. W pozostałych liniach kod jest poprawny.
-
Deklaracja nie podaje numeru wersji. Poprawny zapis to <!doctype html>.
-
Element meta jest pusty — nie ma znacznika zamykającego. Wystarczy <meta charset="utf-8">.
Ułóż nagłówki od najważniejszego do najmniej ważnego. Poziom musi wynikać z układu treści, a nie z rozmiaru czcionki.
<h1>Kurs HTML i CSS</h1>
<h2>Moduł 1 — struktura dokumentu</h2>
<h3>Doctype i język</h3>
<h3>Elementy w head</h3>
<h2>Moduł 2 — tekst i listy</h2>
<h3>Formatowanie tekstu</h3>
<h4>Ważne fragmenty</h4>
<h5>Przykład</h5>
<h6>Przypis</h6>
- Na stronie jest jedno
<h1>— główny temat dokumentu. <h2>dzieli dokument na moduły, a<h3>na podsekcje.- Poziomy schodzą stopniowo: nie przeskakuj z
<h2>do<h4>bez<h3>. - Rozmiar czcionki to efekt uboczny. O hierarchii decyduje sens treści.
Wynik: czytelna struktura dokumentu. Przeglądarka pokazuje coraz mniejsze nagłówki, a czytnik ekranu może po nich nawigować.
Ta sama strona ma tak samo wyglądać na szerokim ekranie i na telefonie. Odpowiada za to jedna linia w sekcji head. Na zrzutach powiększono tekst i zwężono kartę desktopową, żeby oba widoki były czytelne obok siebie.
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Wycieczka w góry</title>
</head>
<body>
<h1>Wycieczka w góry</h1>
<p>
W sobotę wyruszamy szlakiem na Wielką Sowę.
Zabierz wygodne buty, wodę i kurtkę przeciwdeszczową.
</p>
<p>Zbiórka o 7:30 przy dworcu PKP. Powrót planujemy na 18:00.</p>
<p>Trasa ma 12 km i jest oznaczona kolorem czerwonym.</p>
</body>
</html>
width=device-widthustawia szerokość układu równą szerokości ekranu.initial-scale=1zaczyna od skali 1:1, bez automatycznego pomniejszania.- Bez tej deklaracji telefon przyjmuje około 980 px szerokości i oddala stronę, żeby zmieściła się na ekranie.
- Na desktopie deklaracja zwykle nic nie zmienia — dlatego oba zrzuty mają tę samą treść.
Wynik: na telefonie tekst zajmuje całą szerokość ekranu i jest czytelny bez powiększania.
Spróbuj samodzielnie
-
Napisz minimalny dokument HTML5 z tytułem „Moja strona” i jednym nagłówkiem
<h1>„Cześć”. Ustaw język polski.Pokaż rozwiązanie
Zacznij od deklaracji typu dokumentu, potem otwórz
<html lang="pl">. W<head>umieść kodowanie i tytuł, a w<body>nagłówek.HTML<!doctype html> <html lang="pl"> <head> <meta charset="utf-8"> <title>Moja strona</title> </head> <body> <h1>Cześć</h1> </body> </html> -
Uczeń napisał dokument, w którym brakuje dwóch ważnych elementów. Wskaż braki i popraw kod.
HTML — kod z brakami<html lang="pl"> <head> <title>Moja strona</title> </head> <body> <h1>Witaj</h1> <p>To jest mój pierwszy dokument.</p> </body> </html>Pokaż rozwiązanie
Brakuje deklaracji
<!doctype html>na początku oraz<meta charset="utf-8">w sekcji head. Bez kodowania polskie znaki mogą wyświetlić się niepoprawnie.HTML — kod poprawny<!doctype html> <html lang="pl"> <head> <meta charset="utf-8"> <title>Moja strona</title> </head> <body> <h1>Witaj</h1> <p>To jest mój pierwszy dokument.</p> </body> </html> -
Strona na telefonie jest pomniejszona, a tekst zajmuje tylko środkową część ekranu. W dokumencie są już poprawny charset i tytuł. Co dodać i gdzie?
Pokaż rozwiązanie
Do sekcji
<head>dodaj linię viewport. Dzięki niej telefon nie przyjmuje domyślnej szerokości około 980 px, tylko dopasowuje układ do rzeczywistego ekranu.HTML<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Moja strona</title> </head> -
W dokumencie są nagłówki:
<h1>Oferta</h1>,<h1>Kontakt</h1>i<h4>Cennik</h4>. Popraw hierarchię, zachowując sens treści.Pokaż rozwiązanie
Strona powinna mieć jedno
<h1>jako główny temat. Działy strony ustaw jako<h2>, a podtematy jako<h3>— bez przeskakiwania poziomów.HTML<h1>Oferta</h1> <h2>Cennik</h2> <h2>Kontakt</h2>„Cennik” i „Kontakt” są działami tej samej strony, więc mają ten sam poziom
<h2>. Żaden nagłówek nie przeskakuje z<h1>od razu do<h4>.
Podsumowanie. Dokument HTML zaczyna się od deklaracji doctype, ma jeden element <html> z językiem, sekcję <head> z kodowaniem, viewportem i tytułem oraz <body> z treścią. Nagłówki tworzą hierarchię, a przeglądarka dodaje domyślne marginesy. Komentarze pomagają w kodzie, ale nie są widoczne na stronie.