HTML alapok › 5. modul: Táblázat › 5.3 lecke

HTML alapok · 5.3 lecke

Összetett táblázat: cellák összevonása

Dupla matekóra az órarendben, egy közös „hétvége” oszlop, egy torna programja: néha egy cellának több sort vagy oszlopot kell elfoglalnia. Ebben a leckében megtanulod a cellák összevonását, és azt is, mikor jobb egyszerűbb táblázatot készíteni.

  • kb. 45 perc
  • kezdő szint
  • 9. osztály
Nyitókép helye (16:9)

A lecke végére

  • vízszintesen összevonsz cellákat a colspan attribútummal;
  • függőlegesen összevonsz cellákat a rowspan attribútummal;
  • ellenőrzöd, hogy összevonás után is stimmel-e a cellák száma;
  • tudod, hogy túl bonyolult táblázat helyett jobb több egyszerűt készíteni.

Mielőtt elkezded

Szükséged lesz az akadálymentes táblázat ismeretére.

5.2 Akadálymentes táblázat →

1

Vízszintes összevonás: colspan

program.htmlHTML
<tr>  <th scope="row">Szombat</th>  <td colspan="3">Egész napos kirándulás</td></tr>

A colspan="3" azt jelenti: ez a cella három oszlop szélességű. Ebben a sorban ezért csak egy td kell a három helyett.

2

Függőleges összevonás: rowspan, a dupla óra

orarend.htmlHTML
<tr>  <th scope="row">1. óra</th>  <td rowspan="2">Informatika (dupla óra)</td>  <td>Angol</td></tr><tr>  <th scope="row">2. óra</th>  <!-- itt nincs hétfői cella: az informatika lefoglalta -->  <td>Matek</td></tr>
A böngészőben így jelenik meg
ÓraHétfőKedd
1. óraInformatika (dupla óra)Angol
2. óraMatek

Jósold meg!

Mi történne, ha a második sorba is írnál egy hétfői cellát?

Megoldás

A sor eggyel több cellát tartalmazna, mint kellene, így a „Matek” egy oszloppal jobbra csúszna, egy nem létező szerda oszlopba. Az összevont cella helyét a következő sorokban üresen kell hagyni.

3

Az aranyszabály: számolj cellát!

Minden sor ugyanolyan széles

Összevonás után is minden sorban ugyanannyi „helynek” kell lennie. Számolj így: egy sima cella 1 hely, a colspan="3" 3 hely, és ha felülről egy rowspan „belelóg” a sorba, az is foglal egy helyet.

Kihívás: cellaszámláló

Egy 4 oszlopos táblázat egyik sorában ez áll: egy th, egy colspan="2" cella és egy sima td. Hány hely ez? Jó így a sor? És ha a sor fölött egy rowspan-es cella lóg be?

Megoldás

1 + 2 + 1 = 4 hely, tehát jó. Ha egy rowspan is belelóg, akkor már 5 lenne, ezért az egyik sima cellát el kell hagyni.

4

Mértékkel: az egyszerű táblázat a legjobb

Túl bonyolult?

A sok összevonás a szemnek is nehéz, a felolvasóknak pedig még nehezebb. A W3C akadálymentességi útmutatója azt javasolja: ha egy táblázat nagyon bonyolult, bontsd több egyszerű táblázatra.

Széles táblázat mobilon

A sok oszlopos táblázat telefonon kilóghat. Erre a CSS ad megoldást (például egy vízszintesen görgethető keret), erről a CSS-tanfolyamon tanulsz. Már most is jó szabály: csak annyi oszlop, amennyi valóban kell.

5

Hibavadászat

1. Túl sok cella

program.htmlHTML
<tr><th>Szombat</th><td colspan="3">Kirándulás</td><td></td></tr>
Mi a baj?

A colspan már 3 helyet foglal, az üres td egy ötödik oszlopot csinál. Hagyd el.

2. Ottmaradt cella a rowspan alatt

orarend.htmlHTML
<tr><th>1. óra</th><td rowspan="2">Informatika</td><td>Angol</td></tr><tr><th>2. óra</th><td>Informatika</td><td>Matek</td></tr>
Mi a baj?

A második sorban nem kell újra hétfői cella, azt a rowspan már lefoglalta. A „Matek” emiatt jobbra csúszik.

3. colspan a rossz oszlopszámmal

tabella.htmlHTML
<tfoot><tr><td colspan="2">Forrás: …</td></tr></tfoot>  <!-- a táblázat 4 oszlopos -->
Mi a baj?

A forrássor csak két oszlopnyi széles lesz egy 4 oszlopos táblázatban. Helyesen: colspan="4".

Projekt: a saját órarended, dupla órákkal

Folytasd a saját oldalad projektet!

  • Fejleszd tovább az 5.1-ben készült órarendedet: a dupla órákat vond össze rowspan-nel.
  • Adj neki captiont, thead-et és tbody-t, a fejlécekre scope-ot.
  • A táblázat alá (tfoot-ba) kerüljön egy megjegyzés colspan-nel (például „Az órarend a 2. félévre érvényes”).
  • Számold végig soronként a helyeket!

Kész vagy, ha…

…minden sor ugyanannyi helyet foglal, a dupla órák helyesen összevontak, és a táblázat mobilon is áttekinthető.

Ellenőrizd magad!

Mit csinál a colspan="2"?

Két oszlop szélességűre nyújtja a cellát.

Mit csinál a rowspan="2"?

Két sor magasságúra nyújtja a cellát.

Mi a teendő a rowspan alatti sorban?

Az összevont cella helyére nem kell újabb cella.

Mit tegyél, ha egy táblázat nagyon bonyolult lenne?

Bontsd több egyszerű táblázatra.

Tanároknak

Kerettantervi kapcsolódás

NAT 2020, Digitális kultúra, 9. évfolyam, Publikálás a világhálón: összetettebb táblázat a weblapon. A cellák összevonása a táblázatkezelésből és a szövegszerkesztésből is ismerős lehet, ami transzfert ad.

Módszertan

A dupla óra az órarendben mindenki számára ismerős helyzet, így a rowspan azonnal értelmet kap. A „cellaszámláló” kihívás egy egyszerű, algoritmikus ellenőrző eljárást tanít, a leggyakoribb hiba (elcsúszó cellák) megelőzésére.

Időterv

colspan: 8 perc. rowspan: 12 perc. Cellaszámolás: 10 perc. Mértékkel: 5 perc. Hibavadászat: 10 perc.