HTML Div és Span (Blokk vs. Inline)

A blokk szintű és a soron belüli HTML elemek vizuális különbsége

Ahhoz, hogy később CSS segítségével gyönyörű weboldalakat tudj építeni, meg kell értened a HTML legfontosabb láthatatlan szabályát: a böngészők minden HTML elemet két nagy kategóriába sorolnak. Vannak a Blokk szintű (Block-level) és a Soron belüli (Inline) elemek.

A Blokk szintű elemek (Block-level)

Egy blokk szintű elem mindig új sorban kezdődik, és alapértelmezésben elfoglalja a rendelkezésre álló teljes szélességet (balról jobbra kifeszül a képernyőn). Olyan, mint egy nagy, láthatatlan doboz, ami letolja maga alól a többi elemet.

Ilyen blokk szintű elemeket már ismersz: a bekezdés (<p>), a címsorok (<h1> - <h6>), a listák (<ul>) mind blokk elemek.

A <div> tag (A mindenes doboz)

A <div> (division, azaz divízió/részleg) a leggyakrabban használt blokk szintű elem a webfejlesztésben. Önmagában semmilyen vizuális megjelenése vagy jelentése nincs. Egyetlen célja van: csoportosítani más HTML elemeket, hogy azokat később CSS-sel egyben lehessen formázni (például egy keretet tenni köréjük, vagy egymás mellé rendezni őket).

<div class="kartya-doboz">
    <h2>Prémium Csomag</h2>
    <p>Ez a csomag mindent tartalmaz, amire szükséged van.</p>
    <button>Megveszem</button>
</div>

A fenti példában a <div> összefogja a címsort, a bekezdést és a gombot egyetlen logikai "kártyába".

A Soron belüli elemek (Inline)

Az inline elemek nem kezdenek új sort. Csak pontosan annyi helyet foglalnak el szélességben, amennyi a bennük lévő tartalomhoz (szöveghez) feltétlenül szükséges. Békésen megférnek egymás mellett egy mondaton belül.

Ilyen inline elemeket is ismersz már: a linkek (<a>), a képek (<img>), vagy a félkövér szöveg (<strong>).

A <span> tag (A szövegkiemelő)

A <span> az inline elemek jolly jokere. Ugyanaz a szerepe, mint a div-nek, csak soron belül. Nincs saját jelentése, arra használjuk, hogy egy bekezdésen belül egy konkrét szót vagy mondatrészt megjelöljünk, hogy aztán CSS-sel átszínezzük.

<p>A mai napon minden termékünkre <span class="piros-szoveg">50% kedvezményt</span> adunk!</p>

Ebben a példában a <span> nem töri meg a bekezdést, a szöveg folyamatos marad, de a fejlesztő a CSS-ben meg tudja fogni a "piros-szoveg" osztályt, és meg tudja változtatni a színét.

Összegzés: Mikor melyiket használd?

  • Ha egy nagyobb elrendezést (layoutot) építesz, például egy oldalsávot, egy fejlécet vagy egy termékkártyát, használj <div>-et.
  • Ha egy mondaton belül akarsz egy szót formázni anélkül, hogy a szöveg új sorba ugorna, használj <span>-t.
← Előző lecke Következő lecke: Szemantikus HTML5 →