Doboz modell
Last updated
Last updated
A blokkos elemek vízszintesen kitöltik, a rendelkezésre álló helyet, mellettük más elem nem lehet, az elem maga előtt és után sortörést hoz létre. Magasságuk a tartalmuktól függ, a tartalom tolja szét a blokkos elemeket függőlegesen.
A böngészők blokkos elemként jelenítik meg az ebbe a kategóriába tartozó HTML elemeket - lásd HTML elemek listája.
CSS-el fel lehet ruházni ezzel a megjelenítési móddal a nem blokkos elemeket is.
Ha külön nem határozzuk meg egy blokkos elem szélességét, és magasságát, az elem 100% széles lesz, vízszintesen teljesen kitölti a rendelkezésre álló helyet. Az elem magasságát a tartalma határozza meg, például a benne lévő szöveg. Tartalom hiányában az elem 0px magasságú.
A blokkos elemeknek megadhatjuk a szélességégét, magasságát a width
és a height
CSS tulajdonságokkal, ez felülbírálja az alapbeállításokat, az elem magassága függetlenül méretezhető a tartalmától, szélessége függetlenül méretezhető a rendelkezésre álló helytől.
Alapestben a böngésző határozza meg a width
és height
értékét, ez az auto, vagyis a fentebb taglalt elvek alapján számítja a szélességet, és magasságot.
A szélességnek, és a magasságnak megadhatunk minimum és maximum értéket is:
A min-height
, és min-width
CSS tulajdonságokban meghatározott érték alá nem csökken az elem szélessége és magassága (alapértéke 0px).
A max-height
, és max-width
CSS tulajdonságokban meghatározott érték fölé nem növekszik az elem szélessége és magassága (alapértéke none, vagyis nincs felső méret korlát).
A blokkos elemeknek meg lehet adni belső margót a padding
CSS tulajdonsággal, ez felveszi a háttér színét, és belső eltartása hozzáadódik a tartalom szélességéhez és magasságához (alapértéke 0px), a tartalom és az oldal széle között képezve eltartást (úgy kell elképzelni, mint egy hagyományos képkeret esetén a paszpartut a festmény és maga a képkeret között).
A padding
-et megadhatjuk külön külön oldalanként, a padding-top
, padding-right
, padding-bottom
és badding-left
CSS tulajdonságokkal:
Vagy gyorsírásos módszerrel, felsorolhatjuk az összes oldalt is (fentről kezdve az óra járásával megegyező irányban következnek az oldalak):
Meghatározhatjuk egy érték megadásával az összes oldal padding
értékét is, feltételezve, hogy az összes oldal belső margójának mérete megegyezik:
A blokkos elemeknek lehet kerete, a keret megjelenik vizuálisan, és hozzáadódik az elem magasságához és szélességéhez. Ha a keretnek vannak átlátszó részei az elem háttere látszódik ezeken a területeken.
A border-style
(keret stílus) tulajdonsággal határozhatjuk meg a keret vizuális megjelenését (alapértéke a none, vagyis nincs keret).
Lehetséges értékei:
none, hidden - nincs keret
solid - folytonos vonal
dotted - pontozott
dashed - szaggatott vonal
double - dupla vonal
outset - kiemelkedő
inset - süllyesztett
groove - bemélyített
ridge - kidomborodó
A keret stílust is megadhatjuk gyorsírásos formában (fentről kezdve az óra járásával megegyező irányban következnek az oldalak):
Lehetőség van az összes oldal keretének border-style
értékét is beállítani egy értékkel, feltételezve, hogy az összes oldal keret stílusa megegyezik:
A border-width
(keret szélesség) tulajdonságnak az értéke adja a keret vastagságát. Negatív értéket nem vehet fel (alapértéke medium, vagyis közepes).
A keret szélesség megadható gyorsírásos formában, oldalanként eltérő értékkel (fentről kezdve az óra járásával megegyező irányban következnek az oldalak):
Egy értékkel meghatározva is megadhatjuk az összes oldal keret szélességét, feltételezve, hogy minden oldalon megegyezik az értéke:
A border-color
a keret színét határozza meg. Értéke lehet bármely CSS színrendszer szerinti szín (alapértéke felveszi a szövegszínt, vagyis a color
tulajdonságban meghatározott színt).
A keret színt is megadhatjuk gyorsírásos formában (fentről kezdve az óra járásával megegyező irányban következnek az oldalak):
Meghatározhatjuk egy érték megadásával az összes oldal border-color
értékét is, feltételezve, hogy az összes oldal keretének színe megegyezik:
Gyorsírásos módszerrel megadhatjuk oldalanként a kereteket, ehhez meg kell adnunk a keret színét, stílusát és szélességét szóközökkel elválasztva border-top
, border-right
, border-bottom
vagy border-left
CSS tulajdonságokban meghatározva:
Egy még kompaktabb megoldás, amikor az összes oldal keretét egy border
tulajdonságban írjuk le, feltételezve, hogy a keret minden oldalon egyező stílussal színnel, és vastagsággal rendelkezik:
A margin
, vagy külső margó az elemek közötti eltartást határozza meg. Értéke lehet negatív, ebben az esetben egymásra csúsznak az elemek. Alapértéke 0px.
A margin
esetében is van gyorsírásos variáns, oldalanként külön értékkel (fentről kezdve az óra járásával megegyező irányban következnek az oldalak):
Be tudjuk állítani egy érték megadásával az összes oldal margin
értékét is, feltételezve, hogy az összes oldal margójának mérete megegyezik:
A margin
-nak van egy speciális értéke, ez az auto, vagy automatikus margó, ha ezt vízszintesen, vagyis jobb és, vagy bal oldalt megkapja egy elem, a margója az adott oldalon addig nyúlik, amíg a rendelkezésre álló hely el nem fogy. Ez lehetővé teszi, hogy automatikus margóval balra, középre, vagy jobbra rendezzük a blokkos megjelenítésű elemeket.
Az auto margin
számos CSS megoldás alapját képezi, lásd:
Alapesetben függőlegesen hatástalan az automatikus margó, ha egy elem margin-top
vagy margin-bottom
tulajdonságát auto-ra állítjuk, akkor a böngésző azt nullának fogja venni, ez alól kivételt képez a flex (rugalmas) megjelenítési mód, ahol a rugalmas elemekre vertikálisan is alkalmazható az automatikus margó.
A box-sizing
tulajdonság alapján számolja a böngésző az elemek méretét.
Két lehetséges értéke lehet, az alapérték a content-box ebben az estben az elem tartalmának szélességéhez, magasságához hozzáadódik a belső margó és a keret szélessége, magassága.
Sötétebb kékkel a padding
, és a border
, alapestben ezek hozzáadódnak az elem szélességéhez (fehér nyilakkal jelölve).
A box-sizing
tulajdonság második lehetséges értéke a border-box, amikor a szélességbe, és magasságba beleszámít a belső margó és a keret szélessége, magassága.
Border-box esetében a padding
, és a border
nem növeli az elem méretét, befelé képződik (fehér nyilakkal jelölve).