← Lekcje
HTML · lekcja 01

Struktura HTML

Z czego zbudowana jest każda strona internetowa

  1. Co to jest HTML i znacznik?
  2. Szkielet strony: head i body
  3. Pudełka w pudełkach: zagnieżdżanie, atrybuty, komentarze
  4. Ćwiczenie: pierwsza własna strona
Rozgrzewka · 3 minuty

Co już wiecie?

Zanim napiszemy pierwszą linijkę, dwa pytania o to, co już robiliście na komputerze.

  1. Pisaliście tekst w Wordzie albo w Dokumentach Google. Skąd program wie, że jedna linijka to tytuł, a druga zwykły akapit?
  2. Otwórzcie dowolną stronę i wciśnijcie Ctrl+U. Co się pokazuje i czym to się różni od tego, co widać na stronie?
Na start

Co to jest HTML?

Dom ma szkielet, tynk i instalację elektryczną. Strona internetowa też ma trzy warstwy:

WarstwaZa co odpowiada?W domu
HTMLtreść i jej układ: nagłówki, akapity, listy, obrazkiszkielet i ściany
CSSwygląd: kolory, czcionki, rozmieszczeniefarba i meble
JavaScriptzachowanie: co się dzieje po kliknięciuprąd i włączniki

Przeglądarka czyta plik HTML od góry do dołu i rysuje z niego stronę. Dziś budujemy szkielet.

Rozkład: Struktura HTML
Znacznik

Znacznik: nawias wokół treści

W HTML każdy kawałek treści bierzecie w nawias z nazwą. Taki nawias to znacznik.

<p>To jest akapit.</p>
 ↑ otwierający          ↑ zamykający (z ukośnikiem)
MDN, „Basic HTML syntax”
Szkielet strony

Każda strona ma ten sam szkielet

<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Moja pierwsza strona</title>
  </head>
  <body>
    <h1>Cześć!</h1>
    <p>To moja strona.</p>
  </body>
</html>

Ten szkielet przepisujecie do każdego nowego pliku. Za chwilę rozbieramy go na części.

MDN, „Creating the content” · szkielet: standard HTML
Szkielet strony

Paczka: etykieta i zawartość

Strona jest jak paczka. Na etykiecie są informacje o paczce, w środku jest to, co dostaje odbiorca.

CzęśćCo tam jest?Czy widać na stronie?
<head>informacje o stronie: tytuł na karcie, kodowanie znaków, później link do CSSnie (poza tytułem na karcie)
<body>wszystko, co widzi użytkownik: nagłówki, tekst, obrazytak

<!DOCTYPE html> na samej górze mówi przeglądarce: „to jest nowoczesny HTML”. lang="pl" mówi, w jakim języku jest strona.

Ciekawostka z Wikipedii: <!DOCTYPE html> nie zawsze był taki krótki. W starszym HTML 4 trzeba było wpisać całą linijkę z adresem pliku reguł (DTD) w internecie. HTML5 zrezygnował z tego adresu, więc dziś wystarczy jedno krótkie zdanie.

MDN, „Creating the content” · ciekawostka: en.wikipedia.org/wiki/Document_type_declaration
Head

Trzy linijki, bez których będą krzaczki

Widzicie na stronie „Ä…” zamiast „ą”? Sprawdźcie, czy w head jest meta charset="utf-8" i czy edytor zapisał plik jako UTF-8.

MDN, „Creating the content” · viewport: MDN „Viewport meta tag”
Body

Nagłówki i akapity: jak w gazecie

Gazeta ma tytuł, śródtytuły i akapity tekstu. HTML też:

<h1>Tytuł strony (jeden na stronę)</h1>
<h2>Śródtytuł</h2>
<p>Akapit tekstu. Przeglądarka sama go łamie na linie.</p>
<p>Drugi akapit, w nowym bloku.</p>
MDN, „Creating the content” (headings, paragraphs)
Zasady

Pudełka w pudełkach: zagnieżdżanie

Znaczniki wkładacie jeden w drugi jak pudełka. Pudełko otwarte jako ostatnie zamykacie jako pierwsze.

dobrze:
<p>To jest <b>ważne</b>.</p>
źle:
<p>To jest <b>ważne</p>.</b>

Wcięcia (dwie spacje na poziom) nic nie zmieniają dla przeglądarki, ale Wy od razu widzicie, co jest w czym. Piszemy z wcięciami.

MDN, „Basic HTML syntax” (nesting)
Zasady

Atrybut: naklejka na pudełku

Czasem znacznik potrzebuje dodatkowej informacji. Wpisujecie ją w znaczniku otwierającym jako nazwa="wartość".

<html lang="pl">            język strony
<meta charset="utf-8">     kodowanie liter
<img src="cat.jpg" alt="Kot">   skąd obraz i co przedstawia
MDN, „Basic HTML syntax” (attributes)
Zasady

Komentarz: notatka dla siebie

<!-- To jest komentarz. Przeglądarka go nie pokazuje. -->
<p>To    jest      akapit.</p>   <!-- wiele spacji = jedna spacja -->
MDN, „Basic HTML syntax” (comments, whitespace)
Praktyka

Jak zobaczyć swoją stronę?

  1. Załóżcie folder na swoje pliki (np. strony) i w nim plik index.html.
  2. Otwórzcie plik w edytorze kodu i wpiszcie szkielet ze slajdu 5.
  3. Zapiszcie (Ctrl+S) i otwórzcie plik w przeglądarce podwójnym kliknięciem.
  4. Po każdej zmianie w edytorze: zapis, potem F5 w przeglądarce.

Ctrl+U w przeglądarce pokazuje źródło strony, czyli dokładnie to, co napisaliście. Tak podglądacie też cudze strony.

Ćwiczenie 1 · przy komputerze · 12 minut

Ćwiczenie 1: pierwsza własna strona

  1. Plik index.html ze szkieletem. Tytuł na karcie: Wizytówka.
  2. W body: nagłówek h1 z Waszym imieniem, pod nim h2 „O mnie”.
  3. Dwa akapity p: co lubicie i czego chcecie się nauczyć na tym kursie. W jednym z nich jedno słowo pogrubione <b>.
  4. Jeden komentarz z tematem dzisiejszej lekcji.

Ma się pojawić: na karcie „Wizytówka”, duży nagłówek z imieniem, mniejszy „O mnie”, dwa akapity, polskie litery bez krzaczków. Komentarza nie widać.

Ćwiczenie 2 · na kartce lub w edytorze · 6 minut

Ćwiczenie 2: znajdźcie cztery błędy

 1  <!DOCTYPE html>
 2  <html lang=pl>
 3    <head>
 4      <meta charset="utf-8">
 5    </head>
 6    <body>
 7      <title>Moja strona</title>
 8      <h1>Witaj</h1>
 9      <p>To jest <b>ważne</p></b>
10      <p>Drugi akapit.
11    </body>
12  </html>

Wypiszcie numer linii i co jest nie tak.

Rozwiązanie
  1. Linia 2: lang=pl bez cudzysłowu. Ma być lang="pl".
  2. Linia 7: <title> jest w body, a należy do head.
  3. Linia 9: zamknięcia w złej kolejności. Otwarte jako ostatnie <b> zamykamy jako pierwsze: <b>ważne</b></p>.
  4. Linia 10: brak </p> po „Drugi akapit.”.
Podsumowanie

Co musicie umieć po tej lekcji?

  1. Napisać szkielet strony z pamięci: doctype, html, head z meta i title, body.
  2. Powiedzieć, co idzie do head, a co do body.
  3. Poprawnie otwierać, zamykać i zagnieżdżać znaczniki; zapisać atrybut.
  4. Otworzyć własny plik w przeglądarce i podejrzeć źródło.

Na następnej lekcji: tekst w HTML, czyli jak wyróżniać, cytować i dzielić tekst na części.

Rozkład: Struktura HTML → Tekst w HTML
Z realnych wdrożeń

A jak to wygląda w produkcji?

Na lekcjiW produkcjiStatus
Szkielet pisany ręcznieTen sam szkielet, ale generuje go narzędzie (szablon, framework, system CMS). Trzeba go rozumieć, żeby poprawiać błędy.nadal w użyciu
Nagłówki h1–h6, akapityDokładnie tak samo. Wyszukiwarka i czytniki dla niewidomych czytają stronę po nagłówkach.nadal w użyciu
Sprawdzanie na okoWalidator W3C i testy automatyczne łapią niezamknięte znaczniki, zanim strona trafi do klienta.narzędzia
Plik otwierany podwójnym kliknięciemStrona leży na serwerze i jest wdrażana z repozytorium. Najczęściej z GitHuba.zastąpione