HTML I CSS · INF.03 · MODUŁ 02
Tekst, listy i linki
Dobra strona to nie ściana tekstu. Nauczysz się dzielić treść i prowadzić użytkownika po linkach.
Wprowadzenie
Tekst na stronie nie może być jedną długą ścianą. HTML daje narzędzia do dzielenia treści i nadawania jej znaczenia: wyróżniasz ważne fragmenty, budujesz listy i prowadzisz użytkownika linkami.
Znaczniki formatujące nie służą tylko do zmiany wyglądu. <strong> oznacza ważną informację, <em> — akcent, <mark> — fragment wyróżniony, a <code> — krótki kod. Czytnik ekranu korzysta z tych znaczeń.
Listy porządkują informacje. <ul> służy do wyliczeń bez kolejności, <ol> — do kroków, a <dl> — do słownika pojęć. Linki łączą strony i sekcje; mogą prowadzić do adresu internetowego, poczty, telefonu albo miejsca w tym samym dokumencie.
Dobry link mówi, dokąd prowadzi. „Kliknij tutaj” nic nie wnosi, a „pobierz cennik” od razu wyjaśnia cel. To szczególnie ważne dla osób, które przeglądają stronę czytnikiem ekranu albo klawiaturą.
Tekst linku ma sens także poza zdaniem. Zamiast „kliknij tutaj” napisz „pobierz cennik” albo „zobacz portfolio”.
Najważniejsza własność
Najważniejsza zasada brzmi: najpierw znaczenie, potem wygląd. Wybieraj element po sensie treści, a nie po tym, jak domyślnie wygląda. CSS i tak może zmienić każdy styl.
Formatowanie: strong = ważne, em = akcent, mark = wyróżnione, code = kod.
Struktura: ul = lista bez kolejności, ol = kroki, dl = pojęcia i definicje.
Formatowanie tekstu
| Element | Znaczenie | Typowe użycie |
|---|---|---|
<strong> | ważna informacja | ostrzeżenia, kluczowe pojęcia |
<em> | akcent | podkreślenie sensu w zdaniu |
<mark> | wyróżnienie | wynik, fragment do zapamiętania |
<code> | krótki kod | nazwy znaczników, fragmenty programu |
<blockquote> | cytat | dłuższa wypowiedź |
<cite> | źródło cytatu | autor albo tytuł dzieła |
<br> | łamie linię | krótki podział wewnątrz tekstu |
<hr> | linia oddzielająca | granica między sekcjami |
Listy i linki
| Element | Znaczenie | Typowe użycie |
|---|---|---|
<ul> | lista bez kolejności | wyliczenie równorzędnych elementów |
<ol> | lista uporządkowana | kroki, instrukcja, ranking |
<dl> | lista definicji | pojęcia i ich opisy |
<a> | link | nawigacja, poczta, telefon, kotwica |
Link tworzysz elementem <a> z atrybutem href. Adres może być bezwzględny (pełny adres z https://), względny (ścieżka do pliku w serwisie), pocztowy (mailto:), telefoniczny (tel:) albo prowadzić do kotwicy (#sekcja).
Link zewnętrzny otwierany w nowej karcie zapisujesz jako <a href="https://..." target="_blank" rel="noopener">. Atrybut rel="noopener" odcina nowej stronie dostęp do obiektu window.opener i utrudnia podmianę adresu w karcie z Twoją stroną.
Jeżeli używasz target="_blank", dodaj rel="noopener". Otwieranie w nowej karcie ma sens tylko wtedy, gdy naprawdę pomaga użytkownikowi.
Most: od teorii do kodu
Uzupełnij link zewnętrzny
Atrybuty linku
uzupełnianie lukWybierz atrybut i wartości, które tworzą bezpieczny link otwierany w nowej karcie.
<p>Zobacz <a ="https://example.com" target="" rel="">nasze portfolio</a>.</p>
href podaje adres, _blank otwiera link w nowej karcie, a noopener odcina nowej stronie dostęp do karty z Twoją stroną.
Przykłady
Wyróżnij ważne fragmenty, pokaż krótki kod i dodaj cytat ze źródłem. Zwróć uwagę, że każdy znacznik ma inne znaczenie, nie tylko inny wygląd.
<h1>Formatowanie tekstu</h1>
<p>To jest <strong>ważna informacja</strong>, a to <em>akcent</em>.</p>
<p>Wynik działania: <mark>48 punktów</mark>.</p>
<p>Fragment kodu: <code><strong></code>.</p>
<blockquote>
<p>Dobra strona zaczyna się od dobrej treści.</p>
<p><cite>— Jan Kowalski, projektant</cite></p>
</blockquote>
<p>Pierwsza linia.<br>Druga linia po znaczniku br.</p>
<hr>
<p>Pozioma linia oddziela sekcje.</p>
<strong>oznacza ważną informację, a<em>— akcent w zdaniu.<mark>wyróżnia fragment tłem, a<code>zmienia krój na monospace.<blockquote>tworzy cytat, a<cite>podaje jego źródło.<br>łamie linię w obrębie akapitu, a<hr>oddziela sekcje.
Wynik: tekst ma znaczenie i czytelny podział. Wygląd można później zmienić w CSS, ale sens znaczników pozostaje.
Zbuduj cztery rodzaje list: wyliczenie, kroki, listę zagnieżdżoną i słownik pojęć. Pamiętaj, że zagnieżdżona lista jest częścią elementu li.
<h1>Listy w HTML</h1>
<h2>Zakupy</h2>
<ul>
<li>mleko</li>
<li>chleb</li>
<li>jajka</li>
</ul>
<h2>Plan dnia</h2>
<ol>
<li>Śniadanie</li>
<li>Nauka HTML
<ul>
<li>powtórka</li>
<li>ćwiczenia</li>
</ul>
</li>
<li>Spacer</li>
</ol>
<h2>Słownik pojęć</h2>
<dl>
<dt>HTML</dt>
<dd>język opisu struktury strony</dd>
<dt>CSS</dt>
<dd>język opisu wyglądu strony</dd>
</dl>
<ul>stosujesz wtedy, gdy kolejność elementów nie ma znaczenia.<ol>numeruje kroki automatycznie — nie wpisujesz numerów w treści.- Zagnieżdżoną listę wkładasz do
<li>, nie bezpośrednio do<ul>. <dl>łączy pojęcie<dt>z definicją<dd>.
Wynik: listy porządkują treść i są czytelne dla czytników ekranu. Zagnieżdżenie pokazuje zależność między elementami.
Połącz sekcje tej samej strony, dodaj link zewnętrzny otwierany w nowej karcie oraz linki do poczty i telefonu. Każdy link ma opisowy tekst.
<h1>Linki</h1>
<nav aria-label="Nawigacja główna">
<a href="#oferta">Oferta</a> |
<a href="#kontakt">Kontakt</a>
</nav>
<h2 id="oferta">Oferta</h2>
<p>
Zobacz
<a href="https://example.com"
target="_blank"
rel="noopener">przykładową stronę</a>
(otwiera się w nowej karcie).
</p>
<h2 id="kontakt">Kontakt</h2>
<p>Napisz: <a href="mailto:biuro@example.com">biuro@example.com</a></p>
<p>Zadzwoń: <a href="tel:+48123456789">+48 123 456 789</a></p>
<p><a href="#oferta">Wróć do oferty</a></p>
href="#oferta"prowadzi do elementu zid="oferta"w tym samym dokumencie.- Link zewnętrzny ma pełny adres,
target="_blank"irel="noopener". mailto:otwiera program pocztowy, atel:— dialer telefonu.- Tekst linku mówi, dokąd prowadzi;
aria-labelopisuje całą nawigację.
Wynik: nawigacja, link zewnętrzny, poczta i telefon działają w jednym dokumencie. Użytkownik wie, dokąd prowadzi każdy link.
Most: sprawdź kod
Znajdź błędy w linkach
Dwa linki do poprawy
zaznaczanie błędówZaznacz linie, w których jest błąd. W pozostałych liniach kod jest poprawny.
-
Brakuje
rel="noopener". Link otwierany w nowej karcie powinien odcinać dostęp do karty z Twoją stroną. -
Brakuje protokołu
https://. Adres bez protokołu przeglądarka potraktuje jako ścieżkę względną.
Oceń kod strony kontaktowej
Code review linków
code reviewDla każdej linii wybierz ocenę: OK, błąd logiczny, brak dostępności albo zła praktyka.
-
Poprawny nagłówek sekcji.
-
Poprawny link pocztowy z czytelnym adresem.
-
Poprawny link telefoniczny z numerem kierunkowym.
-
Link zewnętrzny ma pełny adres, bezpieczne rel i opisowy tekst.
-
Brak protokołu
https://. Adres zostanie potraktowany jako ścieżka względna i link nie zadziała. -
Tekst „Kliknij tutaj” nie mówi, dokąd prowadzi link, a przy
target="_blank"brakujerel="noopener".
Spróbuj samodzielnie
-
Sformatuj zdanie: „Ważne: egzamin odbędzie się 12 maja. Przeczytaj rozdział 3.” Użyj
<strong>dla słowa „Ważne”,<em>dla „egzamin”,<mark>dla daty i<code>dla „rozdział 3”. Dodaj krótki cytat z<cite>.Pokaż rozwiązanie
Każdy fragment opakuj w znacznik zgodny ze znaczeniem. Cytat umieść w
<blockquote>, a źródło w<cite>.HTML<p><strong>Ważne:</strong> <em>egzamin</em> odbędzie się <mark>12 maja</mark>.</p> <p>Przeczytaj <code>rozdział 3</code>.</p> <blockquote> <p>Powtórzenie to najlepszy sposób nauki.</p> <p><cite>— Jan Kowalski</cite></p> </blockquote> -
Zbuduj listę „Kursy” z dwoma elementami: HTML i CSS. Pod HTML umieść „struktura” i „tekst”, a pod CSS „selektory” i „box model”. Użyj listy zagnieżdżonej.
Pokaż rozwiązanie
Zagnieżdżoną listę wstaw do środka elementu
<li>nadrzędnego punktu. Dzięki temu czytnik ekranu odczyta ją jako część tego punktu.HTML<ul> <li>HTML <ul> <li>struktura</li> <li>tekst</li> </ul> </li> <li>CSS <ul> <li>selektory</li> <li>box model</li> </ul> </li> </ul> -
W nawigacji są błędy: link „Strona główna” nie ma protokołu, link zewnętrzny nie ma zabezpieczenia, a teksty „Kliknij tutaj” i „Mail” nie mówią, dokąd prowadzą. Popraw kod i dodaj opis nawigacji.
HTML — kod z błędami<nav> <a href="www.example.com">Strona główna</a> <a href="https://example.com" target="_blank">Kliknij tutaj</a> <a href="mailto:biuro@example.com">Mail</a> <a href="tel:123456789">Telefon</a> <a href="#kontakt">Kontakt</a> </nav>Pokaż rozwiązanie
Dodaj pełny protokół,
rel="noopener"i opisowe teksty linków. Numer telefonu zapisz z kierunkowym kraju, a nawigację opisz przezaria-label.HTML — kod poprawny<nav aria-label="Nawigacja główna"> <a href="https://example.com">Strona główna</a> <a href="https://example.com/portfolio" target="_blank" rel="noopener">Zobacz portfolio</a> <a href="mailto:biuro@example.com">Napisz e-mail</a> <a href="tel:+48123456789">Zadzwoń: +48 123 456 789</a> <a href="#kontakt">Przejdź do kontaktu</a> </nav>
Podsumowanie. Znaczniki tekstowe nadają treści sens, listy ją porządkują, a linki prowadzą do innych miejsc. Pamiętaj o opisowych tekstach linków, poprawnych adresach i rel="noopener" przy target="_blank".