A doboz modell

A dobozok egymás köré vannak építve, mint a hagyma rétegei. Ahogy a böngészők meghatározzák a weboldal elrendezését, minden doboznak megadják a stílust, meghatározzák a dobozok egymáshoz való helyzetét és méretét. A CSS elrendezésének megismerése előtt azonban meg kell ismernünk a doboz modellt — ez lesz mai leckénk témája.

A doboz tulajdonságai

Minden elem egy dokumentumon belül egy négyszögletű dobozként van strukturálva. A doboz legfontosabb tulajdonságai a következők:

Szélesség és magasság

A width és a height tulajdonságok határozzák meg a tartalomdoboz szélességét és magasságát. A tartalomdoboz az a terület, amelyben a doboz tartalma megjelenik.

Térköz

A padding a CSS-doboz belső margójára utal — a tartalomdoboz külső határa és a keret belső része között. Ez a réteg beállítható minden oldalról egyszerre a padding tulajdonság segítségével vagy külön-külön a padding-top, padding-right, padding-bottom és a padding-left tulajdonságokkal.

Keret

A CSS-doboz kerete a térköz külső széle és a margó belső széle között helyezkedik el. A keret alapbeállítás szerint 0 — azaz láthatatlan —, de a vastagsága, stílusa és színe tetszés szerint beállítható a border tulajdonság segítségével, minden oldalról egyszerre, például így: border: 1px solid black. A keretek egyenként, sokkal specifikusabban is beállíthatóak a következő tulajdonságok segítségével:

border-top, border-right, border-bottom és border-left: ezekkel a tulajdonságokkal beállíthatjuk az oldal keretének vastagságát, színét vagy stílusát.

border-width, border-style, border-color: csak a vastagságot, stílust vagy színt állítják be, de minden oldalra vonatkozóan.

Természetesen minden oldalra külön-külön is beállíthatunk egy-egy tulajdonságot a border-top-width, border-top-style, border-top-color stb. tulajdonságok segítségével.

Margó

A margó a CSS-dobozokat veszi körül, és meghatározza a többi doboztól való távolságukat. A margókat egyszerre a margin tulajdonsággal tudjuk beállítani, egyenkénti beállításra pedig a margin-top, margin-right, margin-bottom és margin-left tulajdonságokat használhatjuk.

Haladó beállítások

A fent említett tulajdonságokon kívül számos másik is létezik, melyekkel hathatunk a dobozok viselkedésére. Vegyük át őket röviden:

Overflow

Mikor a doboz méreteit abszolút értékek segítségével állítjuk be, a tartalom esetenként nem fér be, és „kiömlik” a dobozból. Az overflow tulajdonság segítségével kontrollálhatjuk, mi történjen az ilyen esetekben. A leggyakoribb értékek a következők:

auto: ha túl sok tartalom van, a tartalom rejtve marad, és a felhasználó a görgetősávval tudja megtekinteni a rejtett részeket

hidden: ha túl sok tartalom van, a tartalom rejtve marad

visible: ha túl sok tartalom van, a „kiömlő” tartalom a dobozon kívül jelenik meg (általában ez az alapértelmezett viselkedés).

Background clip

A dobozok háttere színekből és képekből áll (background-color, background-image). Az alapbeállítás szerint a háttér egészen a keret külső széléig terjed. Ez gyakran teljesen rendben is van, de időnként szeretnénk, ha ez nem így lenne. Ilyen esetben használhatjuk a background-clip tulajdonságot a dobozon.

Outline

Az outline hasonlít a kerethez, de nem része a box modellnek. Úgy viselkedik, mint a keret, de a dobozon kívül, a margó területében van meghúzva, és nem változtatja a doboz méretét.

A CSS-dobozok típusai

Minden, amiről eddig szó volt, a blokkszintű elemekre vonatkozott. A CSS-ben azonban más doboztípusok is vannak, melyek máshogy viselkednek. Az elemhez csatlakoztatott doboz típusát a display tulajdonság határozza meg. A displaynek számos értéke van, cikkünkben a három leggyakoribbra összpontosítunk:

A block doboz más dobozokon helyezkedik el, és beállítható a szélessége, magassága. A fent leírt doboz modell a block dobozokra vonatkozik.

Az inline doboz a block doboz ellentéte: beleolvad a dokumentum szövegébe. A szélesség és a magasság beállítása nincs hatással az inline dobozokra, a térköz, a margó és a keret beállítása pedig a környező szövegre is hatással van, viszont nem befolyásolja a környező block dobozokat.

Az inline-block doboz az előző két típus ötvözete: beleolvad a környező szövegbe, mint az inline doboz, de méretezhető is, mint a block doboz.

A blokkszintű elemek alapértelmezett beállítása a display: block;, az inline elemek esetében pedig ez a display: inline; beállítás.

Összegzés:

Most már tisztában vagy a CSS-dobozok fogalmával és működési elvével. Ha nem teljesen világos minden, akkor sem kell aggódnod — szükség esetén visszaolvashatod a cikket, hogy felelevenítsd az információkat. Miután néhány gyakorlati példával is találkoztál, biztos, hogy nem fogod nehéznek találni a CSS-dobozokkal való munkát. Következő leckénkben a CSS-debuggolással fogunk foglalkozni! Addig is jó gyakorlást!

Az oldal sütiket használ, hogy személyre szabjuk a tartalmakat és reklámokat, hogy működjenek a közösségi média funkciók, valamint hogy elemezzük a weboldal forgalmát. Bővebben a "Részletek mutatása" gombra olvashat.
Az oldal sütiket használ, hogy személyre szabja az oldalon megjelenő tartalmat és reklámokat.