2. fejezet¶
Ebben a részben folytatjuk a HTML dokumentum törzsrészében (body
) használatos tagekkel való ismerkedést.
Szakaszok¶
HTML-ben lehetőségünk van a weboldal tartalmának strukturálására is. Ezt szakaszok, tartalmi egységek kialakításával tehetjük meg.
A <div>...</div>
egy általános célú blokkszintű (block) szakasz. A blokkszintű elemek mindig új sorban kezdődnek, és kihasználják a teljes rendelkezésre álló szélességet.
A <span>...</span>
egy átalános célú sorszintű (inline) szakasz. A sorszintű elemek nem kezdődnek új sorban, illetve szélességük csak akkora, mint amekkora helyre szükségük van.
Szabály
Egy sorszintű (inline) HTML elem nem tartalmazhat blokkszintű (block) elemet.
Példa: A <span>
és <div>
tagek használata. A kód kimenetében a szemléletesség kedvéért a <div>
-ek által meghatározott szakaszokat világoskék, míg a <span>
által meghatározott szakaszt sárga háttérrel jelöltük
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Listák¶
A HTML listák lehetőséget biztosítanak arra, hogy egymáshoz kapcsolódó információkat egy csoportba gyűjtve sorolhassunk fel. Két fontos listatípus:
<ul>...</ul>
: rendezetlen (számozatlan) lista- akkor használjuk, ha a listaelemek között nincs megállapítható sorrend
- a listaelemeket a
<li>...</li>
taggel adhatjuk meg
<ol>...</ol>
: rendezett (számozott) lista- akkor használjuk, ha számít a listaelemek sorrendje
- a listaelemeket a
<li>...</li>
taggel adhatjuk meg - fontosabb attribútumok:
reversed
: fordított számozásstart
: számozás kezdősorszámatype
: felsorolásjel típusa- lehetséges értékei:
1
: arab szám,i
: "kisbetűs" római szám,I
: "nagybetűs" római szám,a
: kisbetű,A
: nagybetű
- lehetséges értékei:
Példa: Rendezetlen és rendezett lista
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
A fenti listatípusokból készíthetünk többszintű listát is. Ennek a lényege, hogy egy listaelembe egy másik listát ágyazunk be.
Példa: Többszintű lista
1 2 3 4 5 6 7 8 9 10 11 |
|
Táblázatok¶
A <table>...</table>
taggel egy táblázatot szúrhatunk be a weboldalunkra. A táblázat egy sorát a <tr>...</tr>
tag segítségével adhatjuk meg. Az egyes sorokon belül létrehozhatunk fejléccellákat (<th>...</th>
tag), illetve adatcellákat (<td>...</td>
tag).
Ha szeretnénk egy táblázatnak címet adni, akkor ezt a <caption>...</caption>
taggel tehetjük meg, amit mindig közvetlenül a <table>
után kell írnunk.
Példa: Egy egyszerű táblázat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Lehetőségünk van arra is, hogy egy táblázatban sor- és oszlopösszevonásokat végezzünk: a celláknak adott rowspan
attribútummal megadhatjuk az összevonni kívánt sorok számát, a colspan
attribútummal pedig az összevonni kívánt oszlopok számát.
Azt is meg tudjuk mondani, hogy egy táblázatcella mely fejléccellá(k)hoz tartozik. Ezt a következőképpen tehetjük meg:
- a fejléccelláknak adunk egy-egy
id
attribútumot (egyedi azonosítót) - a cellák
headers
attribútumaként megadjuk azon fejléccellá(k)nak azid
-értékét, ami(k)hez az adott cella tartozik.
Ha a headers
attribútumot ennek megfelelően használjuk, akkor a képernyőolvasó programok a táblázatcellák esetén azt is felolvassák, hogy az adott cella melyik fejléccellá(k)hoz tartozik. Ezáltal a képernyőolvasókat használó felhasználói csoportok (pl. vakok, látássérültek) számára egyszerűbb lesz a táblázatban szereplő adatok értelmezése.
Példa: Az előző táblázat kiegészítése sor- és oszlopösszevonással, valamint fejléccella-társítással
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
A HTML táblázatok sorait 3 fő egységre bonthatjuk:
<thead>...</thead>
: fejlécsorok csoportja<tbody>...</tbody>
: adatsorok csoportja, a táblázat törzse<tfoot>...</tfoot>
: láblécsorok csoportja.
A fenti tagek használata opcionális, nem kötelező. Használatuk esetén, ha papírra nyomtatjuk ki a weboldal tartalmát, akkor a hosszabb, több lapon átívelő táblázatoknál a <thead>
és a <tfoot>
minden nyomtatott oldalon megjelenik.
Ha szeretnénk a táblázat oszlopait csoportosítani (pl. formázás céljából), akkor ezt a <colgroup>...</colgroup>
taggel tehetjük meg. Ezt közvetlenül a <caption>
után (ha van caption) és a <thead>
elé (ha van thead) írjuk. Az oszlopcsoportosításon belül a <col/>
páratlan tag jelöl egy oszlopot. Ha egyszerre több, mondjuk N
darab oszlopot szeretnénk kijelölni a csoportosításban, akkor ezt a <col span="N"/>
segítségével tudjuk megtenni.
Példa: Az előző táblázat kiegészítése a sorok és oszlopok csoportosításával
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Néhány további fontosabb HTML elem¶
<h1>...</h1>
,<h2>...</h2>
, ...,<h6>...</h6>
: címsorok<p>...</p>
: bekezdés<br/>
: sortörés (páratlan tag)<hr/>
: horizontális elválasztó vonal (páratlan tag)<pre>...</pre>
: előre formázott szöveg- alakhű megjelenést biztosít: az ilyen taggel megadott szövegek megőrzik a whitespace karaktereket (szóközöket, tabulátorokat, sortöréseket)
- akkor használjuk, ha a szöveg jellegéből szemantikusan következik a tartalom szóközökkel, térközökkel való formázása (pl. billentyűrajzok, kódrészletek, képversek)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
<em>...</em>
: a tartalom hangsúlyozására használjuk- szemantikus jelentéssel bír
- a képernyőolvasó programok másképp olvassák fel, mint a hagyományos szövegeket
- a böngészők általában dőlt betűkkel jelenítik meg
<strong>...</strong>
: a tartalom erős kiemelésére használjuk- szemantikus jelentéssel bír
- a képernyőolvasó programok másképp olvassák fel, mint a hagyományos szövegeket
- a böngészők általában félkövér betűkkel jelenítik meg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Figyelem
A HTML tageket NE használjuk formázási célokra! Ha egy szöveget félkövérré vagy dőltté szeretnénk tenni, használjunk CSS-t!
<sub>...</sub>
: alsó index<sup>...</sup>
: felső index<q>...</q>
: inline idézet (az idézőjeleket automatikusan kiteszi)<blockquote>...</blockquote>
: idézetblokk<code>...</code>
: kódrészlet<mark>...</mark>
: vizuális szövegkiemelés
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
A HTML5 szemantikus tagek¶
Az 1. fejezetben láttunk példát a weboldalak tartalmának strukturálására. Emlékeztetőül: a <div>
és <span>
tagekkel általános célú szakaszokat, tartalmi egységeket alakítottunk ki.
A <div>
egy blokkszintű (block) objektum, ami azt jelenti, hogy mindig új sorban kezdődik, és kihasználja a teljes rendelkezésre álló szélességet. Ezzel szemben a <span>
egy sorszintű (inline) elem, tehát nem kezdődik új sorban, és szélessége is csak akkora, mint amekkora helyre szüksége van.
A <div>
és <span>
tagek mellé, a HTML5 szabványban új, szemantikus jelentéssel bíró strukturális elemeket vezettek be:
<header>...</header>
: az oldal vagy egy tartalmi egység fejléce<footer>...</footer>
: az oldal vagy egy tartalmi egység lábléce<nav>...</nav>
: navigációs menü<aside>...</aside>
: érintőlegesen kapcsolódó tartalom (jellemzően oldalsáv)<main>...</main>
: fő tartalom<section>...</section>
: logikai egység<article>...</article>
: önálló tartalom.
A fenti tagek kivétel nélkül blokkszintű (block) elemek, a <div>
-hez hasonlóan.
Ezek a tagek - az általános célú <div>
és <span>
tagekkel ellentétben - szemantikai jelentéssel bírnak, tehát egyértelműen meghatározzák a tartalmuk jelentését (pl. egy <nav>
-ról tudjuk, hogy valamilyen navigációt valósít meg).
A HTML5-ben bevezetett szemantikus tageket felhasználva precízebben leírhatjuk egy weboldal szerkezetét. A szemantikus HTML5 tagek nemcsak a kód olvashatóságát és karbantarthatóságát javítják, hanem segítenek a keresőmotoroknak és egyéb eszközöknek is jobban értelmezni az oldalt. Ezekkel a tagekkel készíthetünk például az alábbihoz hasonló elrendezésű weboldalt. (Az ábra forrása)
Megjegyzés
Ahhoz, hogy az ábrán látotthoz hasonló elrendezést kapjunk, a tanult tagek használata önmagában nem elegendő (pl. az <aside>
nem fog automatikusan oldalra kerülni). Az elemek helyzetének megadására a CSS-beli pozicionálást használhatjuk.