Tananyag
4. lecke · Szöveges elemek

2. modul · HTML alapok · 4. lecke

Szöveges elemek

Egy weboldal túlnyomó része szöveg. Ebben a leckében megtanulod megjelölni a szöveget: mi a főcím, mi a bekezdés, mi a fontos, mi az idézet. Nem díszítünk — a díszítés a CSS dolga lesz. Itt jelentést adunk.

≈ 35 perc Előtte: 3. lecke 9 élő példa

Mit fogsz tudni a lecke végén

1Címsorok: h1–h6

Hat címsorszint létezik, a <h1>-től a <h6>-ig. A h a heading (fejléc, címsor) szóból jön.

Mind a hat szint
index.html
<h1>Első szintű címsor</h1>
<h2>Második szintű</h2>
<h3>Harmadik szintű</h3>
<h4>Negyedik szintű</h4>
<h5>Ötödik szintű</h5>
<h6>Hatodik szintű</h6>
Eredmény a böngészőben
Ez a böngésző alapértelmezett megjelenítése. Figyeld meg: a h5 és a h6 már kisebb, mint a sima szöveg — pont ezért nem szabad őket „kis betűnek" használni.
A CÍMSOR NEM MÉRET, HANEM SZINT

A legnagyobb kezdő félreértés: „a h1 nagy betű, a h3 kisebb". Nem. A címsor azt mondja meg, hogy a szöveg hol áll a tartalom szerkezetében. Hogy ettől nagyobb betűvel jelenik meg, az csak a böngésző alapértelmezése — amit a CSS-ben bármikor felülírsz.

Tehát: ne azért válassz h3-at, mert az akkora, amekkorát szeretnél. Azért válaszd, mert az a tartalom harmadik szintje.

A hierarchia szabályai

SzabályMiért?
Egy oldalon egy h1 Ez az oldal főcíme — a „mi ez az oldal?" kérdésre válaszol. Egy oldalnak egy témája van.
Ne ugorj szintet h1 után h2 jön, nem h4. Olyan ez, mint egy vázlat számozása: 1. → 1.1. → 1.1.1.
Lefelé bármennyit ugorhatsz Egy h3 után jöhet új h2 — az új fejezetet nyit.
A címsor rövid Egy egész bekezdést ne tegyél h2-be, még ha jól is néz ki. A címsor cím, nem szöveg.
✔ Logikus szerkezet
<h1>Rakott krumpli</h1>
  <h2>Hozzávalók</h2>
    <h3>Az alapokhoz</h3>
    <h3>A tetejére</h3>
  <h2>Elkészítés</h2>
  <h2>Tippek</h2>
✘ Méret alapján választva
<h1>Rakott krumpli</h1>
  <h4>Hozzávalók</h4>
    <h2>Az alapokhoz</h2>
  <h1>Elkészítés</h1>
  <h6>Tippek</h6>

A behúzás a bal oldali példában csak a szemléltetés kedvéért van ott — a HTML-ben a címsorok egymás mellett állnak, nincsenek egymásba ágyazva. A szintjük adja a szerkezetet.

KIT ÉRDEKEL EZ A SORREND?
  • A keresők ebből értik meg, miről szól az oldalad.
  • A képernyőolvasók (vakok, gyengénlátók) ezzel navigálnak: „ugorj a következő h2-re". Rossz hierarchiánál az oldalad használhatatlan lesz számukra.
  • Te magad — hat hónap múlva, amikor újra megnyitod a fájlt.

2A bekezdés és a szóközök

A <p> (paragraph) a leggyakoribb elem az egész HTML-ben. Egy összefüggő gondolatot fog össze.

A szóköz-összevonás szabálya

Ezt már láttad az 1. leckében, most nézzük meg pontosan. A HTML az egymás melletti szóközöket, tabulátorokat és sortöréseket egyetlen szóközzé vonja össze. Ennek van neve: whitespace collapsing.

Bármennyi szóköz — egy szóköz lesz belőle
index.html
<p>Egy      szó      után
sok          szóköz
és

üres sorok is vannak.</p>

<p>Ez egy másik bekezdés.</p>
Eredmény a böngészőben
Az első bekezdés egyetlen folyamatos szöveggé olvadt. A két bekezdés között viszont van térköz — de nem az üres sor miatt, hanem azért, mert két külön <p> elem.
EZ VALÓJÁBAN JÓ HÍR

Ennek köszönhetően szabadon tördelheted és behúzhatod a kódot anélkül, hogy az eredmény megváltozna. Pont ezért lehet a HTML-forrás olvasható — ha a szóközök számítanának, minden sort egybe kellene írnunk.

AMIT NE CSINÁLJ

Ne próbálj szóközökkel igazítani (behúzni, középre tenni, elválasztani). Nem fog működni, és ha mégis, akkor is rossz megoldás. A térközök és az igazítás CSS-feladat — a 17. leckétől kezdve megtanulod rendesen.

Mikor kezdj új bekezdést?

3Sortörés és elválasztó

A 3. leckében már találkoztál velük, itt nézzük meg, mikor helyes használni őket.

ElemMikor használd?
<br> Ha a sortörés a tartalom része: cím, vers, dalszöveg, feladó. Nem bekezdések elválasztására!
<hr> Ha témaváltás van: új szakasz kezdődik. A böngésző vízszintes vonallal jelöli.
Amikor a sortörés tényleg a tartalom része
index.html
<p>
  Nagy László<br>
  Kiss János utca 4.<br>
  1052 Budapest
</p>

<hr>

<p>
  Ki viszi át a Szerelmet<br>
  a túlsó partra?
</p>
Eredmény a böngészőben
Egy postacímben és egy versben a sortörés jelentést hordoz — nem díszítés. Ilyenkor való a <br>.
✘ Így ne — térköz-csinálás
<p>Első gondolat.</p>
<br><br><br>
<p>Második gondolat.</p>
✔ Így igen — CSS-re bízva
<p>Első gondolat.</p>
<p>Második gondolat.</p>

A jobb oldali változatban a térköz nagyságát majd egyetlen CSS-sorral állítod be — az összes bekezdésre egyszerre. A bal oldalinál minden egyes helyen kézzel kellene babrálni.

4Kiemelés: strong, em, b, i

Négy elem, két megjelenés, de négy különböző jelentés. Ez a lecke legfontosabb fogalmi különbsége.

Négy elem — ránézésre csak kettő
index.html
<p>Ez <strong>strong</strong> elemmel van.</p>
<p>Ez <b>b</b> elemmel van.</p>
<p>Ez <em>em</em> elemmel van.</p>
<p>Ez <i>i</i> elemmel van.</p>
Eredmény a böngészőben
A strong és a b ugyanúgy félkövér, az em és az i ugyanúgy dőlt. Szemre nincs köztük különbség — jelentésben viszont igen.
ElemMegjelenésJelentés — mikor használd?
<strong> félkövér Fontos! Figyelmeztetés, lényeg, amit nem szabad átsiklani. „Ezt vedd komolyan."
<b> félkövér Csak vizuálisan kiemelt, de nem fontosabb: terméknév egy listában, kulcsszó egy összefoglalóban.
<em> dőlt Hangsúly. Ha felolvasnád, itt megnyomnád a szót: „Én nem mondtam ilyet."
<i> dőlt Más jellegű szöveg: idegen szó, latin kifejezés, hajónév, gondolat. Nem hangsúly.
HOGYAN DÖNTS?

Tedd fel a kérdést: „Ha valaki felolvasná, máshogy mondaná ezt a szót?"

  • Igen, nyomatékkal → strong vagy em
  • Nem, csak szemre más → b vagy i
GYAKORLATI TANÁCS KEZDŐKNEK

Amíg nem érzed a különbséget, használd a strong-ot és az em-et. Ezek a „biztonságos" választások: ha kell a nyomaték, jól jelölted; ha nem kell, akkor sem okoztál bajt.

Jelentés a gyakorlatban
index.html
<p>
  <strong>Figyelem:</strong> a sütőt
  <em>előre</em> melegítsd fel!
</p>

<p>
  A <i>Titanic</i> 1912-ben süllyedt el.
</p>

<p>
  Ma a <b>rakott krumplit</b> nézzük meg.
</p>
Eredmény a böngészőben
Figyelem = valódi figyelmeztetés. Előre = itt van a hangsúly. Titanic = hajónév, nem hangsúly. rakott krumpli = kulcsszó, de nem kiáltás.

5További szövegjelölők

Hat hasznos elem egy helyen
index.html
<p>A keresett szó: <mark>kiemelve</mark>.</p>

<p>Ár: <del>4990 Ft</del> <ins>3490 Ft</ins></p>

<p>Képlet: H<sub>2</sub>O, és 5<sup>2</sup> = 25</p>

<p><small>A készlet erejéig.</small></p>

<p>A <abbr title="HyperText Markup
Language">HTML</abbr> jelölőnyelv.</p>
Eredmény a böngészőben
Az abbr alatt pontozott aláhúzás jelenik meg — vidd rá az egeret, és megjelenik a title attribútumban megadott teljes név.
ElemMegjelenésMire való?
<mark>sárga háttérKiemelés, mintha szövegkiemelővel húztad volna át. Például találat a keresésben.
<del>áthúzottTörölt, már nem érvényes szöveg. Például régi ár.
<ins>aláhúzottBeszúrt, új szöveg. A del párja.
<sub>alsó indexKémiai képletek: H2O, CO2.
<sup>felső indexHatványok, lábjegyzetszámok, m2.
<small>kisebb betűApróbetűs rész: jogi megjegyzés, szerzői jog, feltételek.
<abbr>pontozott aláhúzásRövidítés. A title attribútumban add meg, mit jelent.
A MEGJELENÉS NEM GARANTÁLT

A fenti „megjelenés" oszlop a böngészők alapértelmezését írja le. Egy <mark> nem azért sárga, mert a HTML így rendeli, hanem mert a böngésző így dönt. CSS-sel bármelyiket átszínezed. A jelentés viszont marad.

6Idézetek

Két elem van rá, aszerint, hogy az idézet hosszú-e vagy rövid.

Blokkos és soron belüli idézet
index.html
<p>Ahogy a mondás tartja:
  <q>a jó munkához idő kell</q>.</p>

<blockquote>
  <p>A HTML nem programozási nyelv,
  hanem jelölőnyelv. Ez a különbség
  nem szőrszálhasogatás.</p>
  <p>— <cite>Egy tanár</cite></p>
</blockquote>

<p>A szöveg itt folytatódik.</p>
Eredmény a böngészőben
A <q> köré a böngésző magától kirakja az idézőjeleket — nem neked kell begépelni! Ráadásul a lang attribútumnak megfelelő idézőjelet használja. A <blockquote>-ot behúzva jeleníti meg.
ElemMikor?
<q>Rövid, mondaton belüli idézet. Idézőjelet magától kap.
<blockquote>Hosszú, önálló blokkban álló idézet. Bekezdéseket tegyél bele.
<cite>A forrás megnevezése: mű, könyv, cikk címe vagy a szerző. Dőlten jelenik meg.
HONNAN VAN AZ IDÉZET?

Ha az idézetnek van webes forrása, add meg a cite attribútumot (ne keverd össze a <cite> elemmel):

<blockquote cite="https://example.com/cikk">
  <p>Az idézett szöveg.</p>
</blockquote>

Ez nem látszik az oldalon — a keresőknek és a programoknak szól.

7Kód megjelenítése

Ha az oldalad kódot mutat be (mint ez a tananyag), két elemre lesz szükséged — és fontos, hogy melyiket mikor.

code, pre és a kettő együtt
index.html
<p>Használd a <code>margin</code>
  tulajdonságot.</p>

<pre><code>body {
  margin: 0;
  padding: 20px;
}</code></pre>

<p>Nyomj <kbd>Ctrl</kbd> + <kbd>S</kbd>
  billentyűt.</p>
Eredmény a böngészőben
A <pre> a kivétel a szóköz-összevonás alól: pontosan megtartja a szóközöket és a sortöréseket. Ezért marad meg benne a behúzás.
ElemMire való?
<code>Kódrészlet a szövegen belül: egy elemnév, egy tulajdonság, egy fájlnév. Írógép-betűvel jelenik meg.
<pre>Előformázott szöveg: megtartja a szóközöket és a sortöréseket. Több soros kódhoz.
<kbd>Billentyű, amit a felhasználónak le kell nyomnia.
<samp>A program kimenete, hibaüzenet.
TÖBB SOROS KÓDHOZ: A KETTŐ EGYÜTT

A bevett minta: <pre><code>...</code></pre>. A pre adja a formázás megőrzését, a code a jelentést („ez kód").

Figyeld meg a példában: a két nyitó tag közvetlenül egymás után áll, szóköz és sortörés nélkül. Ha közéjük ütnél egy Entert, az megjelenne üres sorként a kimenetben — a pre ugyanis mindent megőriz.

8Karakterentitások

Mi történik, ha ki akarod írni az oldalra, hogy 5 < 8? A böngésző a < jelet tag kezdetének nézi, és összezavarodik. Erre valók a karakterentitások: különleges kódok, amikkel „körülírsz" egy karaktert.

Minden entitás & jellel kezdődik és ; jellel végződik.

A három kötelező entitás
index.html
<p>Ha 5 &lt; 8, akkor 8 &gt; 5.</p>

<p>Kata &amp; Peti</p>

<p>A bekezdés tagje: &lt;p&gt;</p>
Eredmény a böngészőben
Ez az egyetlen módja annak, hogy a <, > és & jelek szövegként jelenjenek meg. Ezzel a trükkel írja ki ez a tananyag is az összes HTML-példát.
A leggyakoribb entitások
EntitásEredményMire?
&lt;<Kötelező — kisebb jel (less than)
&gt;>Kötelező — nagyobb jel (greater than)
&amp;&Kötelező — és-jel (ampersand)
&nbsp;·Törhetetlen szóköz — itt nem tör sort a böngésző. Például: 10&nbsp;km
&copy;©Copyright-jel
&hellip;Három pont egyetlen karakterként
&mdash;Hosszú gondolatjel
&rarr;Jobbra mutató nyíl
AZ ÉKEZETEKHEZ NEM KELL ENTITÁS

Régi tananyagokban látni fogsz ilyet: &aacute; az á helyett. Erre ma nincs szükség. Ha van <meta charset="UTF-8"> a fájlodban, egyszerűen leírod: á, ő, ű. Sokkal olvashatóbb.

MIKOR HASZNOS A &nbsp;?

Ha nem akarod, hogy két összetartozó dolgot elválasszon a sortörés. Például 10&nbsp;kg, Dr.&nbsp;Kovács vagy 2024.&nbsp;május. Így a szám és a mértékegység mindig egy sorba kerül.

Amire viszont nem való: behúzás vagy térköz csinálása. Az CSS-feladat.

9Tipikus hibák

HibaMiért baj, és mi helyette?
Címsor választása méret alapján Elromlik a szerkezet és az akadálymentesség. Válaszd a szint szerint, a méretet CSS-sel állítsd.
Több <h1> egy oldalon Nem derül ki, mi az oldal témája. Egy főcím, alatta h2-k.
<br><br> térköz gyanánt Kézzel adagolt, karbantarthatatlan térköz. Használj külön <p>-ket.
Szóközökkel igazítani A HTML összevonja őket, tehát nem is működik. CSS-re tartozik.
Címsort tenni <p>-be Érvénytelen szerkezet. A bekezdés szöveget tartalmaz, nem címsort.
Idézőjelet begépelni a <q> köré Dupla idézőjelet kapsz, mert a böngésző is kirakja. Hagyd rá.
< jelet szövegben, entitás nélkül A böngésző tagnak nézi, és a szöveg egy része eltűnik. Írj &lt;-t.

Önellenőrző kérdések

Előbb válaszolj magadban, csak utána nézd meg a megoldást.

1. Egy alcímet szeretnél, ami kisebb betűs legyen, mint a többi. Választhatsz-e emiatt <h5>-öt?

Nem. A címsorszint a tartalom szerkezetében elfoglalt helyet jelöli, nem a méretet. Válaszd a szint szerint helyes címsort (pl. h3), és a méretét állítsd be CSS-sel.

2. Mi jelenik meg ebből: <p>Egy     kettő</p> (öt szóközzel)?

Egy kettő — egyetlen szóközzel. A HTML az egymás melletti szóközöket, tabokat és sortöréseket egyetlen szóközzé vonja össze.

3. „Figyelem, a gáz zárva legyen!" — melyik szót milyen elemmel jelölnéd?

A „Figyelem" valódi fontosság → <strong>. A „zárva" hangsúly, amit felolvasva megnyomnál → <em>.

4. Mi a különbség a <b> és a <strong> között, ha egyszer ugyanúgy néznek ki?

Csak a jelentésükben. A strong azt mondja: „ez fontos" — a felolvasó programok nyomatékkal mondják, a keresők súlyozzák. A b csak vizuális kiemelés, jelentés nélkül. Kezdőként használd a strong-ot.

5. Miért nem működik a behúzás egy <p>-ben, de működik egy <pre>-ben?

Mert a pre az egyetlen elem, amelyik kivétel a szóköz-összevonás alól: pontosan megtartja a szóközöket és a sortöréseket. Ezért alkalmas kód megjelenítésére.

6. Ki akarod írni az oldalra: a & b. Hogyan írod a HTML-be?

a &amp; b. Az & az entitások kezdőjele, ezért magát az és-jelet is entitással kell írni.

7. Szeretnéd, hogy a „25 kg" ne törjön ketté a sor végén. Mit teszel közé?

Törhetetlen szóközt: 25&nbsp;kg. Így a böngésző nem tördeli szét a számot és a mértékegységet.

10Összefoglalás

  1. A címsor szintet jelöl, nem méretet. Egy h1 oldalanként, szintugrás nélkül lefelé.
  2. A <p> egy összefüggő gondolat. Új gondolat → új bekezdés.
  3. A HTML az egymás melletti szóközöket egyetlen szóközzé vonja össze. Igazításra ne használd őket.
  4. <br> csak akkor, ha a sortörés a tartalom része. Térközhöz soha.
  5. strong = fontos · em = hangsúly · b és i = csak vizuális. Kérdés: „felolvasva máshogy mondanád?"
  6. Hasznos jelölők: mark, del, ins, sub, sup, small, abbr.
  7. Idézet: rövidhez <q> (az idézőjelet a böngésző adja), hosszúhoz <blockquote>, forráshoz <cite>.
  8. Kód: szövegen belül <code>, több sorhoz <pre><code>.
  9. Három kötelező entitás: &lt;, &gt;, &amp;. Ékezethez nem kell entitás, ha van UTF-8.
  10. Ebben a leckében egyetlen színt vagy méretet sem állítottunk be — csak jelentést adtunk. Ez a HTML dolga.