A CSS-ben az elemeket általában téglalap alakú dobozként vagy sávokként kezelik. A dobozok leírásához a következő - nektek már biztosan ismert - tulajdonságokat használják:
• width – az elem szélessége
• height – az elem magassága
• left – bal távolság
• right – jobb távolság
• top – felső távolság
• bottom – alsó távolság
• margin – külső margó
• border – az elem körüli keret
• padding – belső margó, azaz a kerettől az elem tartalmáig mért távolság
Ezeket a tulajdonságokat már bemutattuk.
Az elemek összszélessége az egyes adatok szélességéből adódik össze. (Ugyanez vonatkozik a magasságra is).
Példa:
div#box {
   width: 100px;
   padding: 20px;     /* 20px balra és jobbra /
   border: 2px solid; / 2px balra és jobbra  /
   margin: 0 30px;    / 30px balra és jobbra */
 }Milyen szélességgel rendelkezik ez az div-terület? Nézzük meg az egyes értékeket:
• 100 képpont
• 2-szer 20 képpont
• 2-szer 2 képpont
• 2-szer 30 képpont
Ez összesen 204 képpontos elem szélességet eredményez.
Az elemek szélességét és magasságát a width és height határozzák meg. Ha ezek az adatok nem szerepelnek explicit módon a stíluslapban, akkor a következők érvényesek:
• Ha hiányzik a width, akkor a doboz annyira széles lesz, mint a körülvett elem.
• Ha hiányzik a height, akkor az elem annyira magas lesz, mint a tartalma.
Példa:
<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 div#box {
    border: 1px solid; /* 2px balra és jobbra  */
    margin: 0 30px;    /* 30px balra és jobbra */
    background-color:#6600CC;
 }
 </style>
 </head>
 <body>
 <div id="kocka">PSD-Tutorials.de</div>
 </body>
 </html>
A böngészőben ez így néz ki:
A div-elem fölérendelt eleme a body. Ennek megfelelően az elem valóban olyan széles lesz, mint a body-elem. A magasság tekintetében azonban a tartalomhoz igazodik.
Minden nullára
Minden böngésző rendelkezik beépített stíluslappal. Ezekben a stíluslapokban néhány alapérték van meghatározva. Ez például a padding és a margin esetében is érvényes. Sajnos ezek az alapértékek eltérőek lehetnek a különböző böngészőkben. Ez a tény nehezíti meg, hogy az egyes böngészőkben azonos eredményeket érjünk el például a dobozmodell kapcsán. Ezért ajánlott az alapértékeket, amelyeket a böngészők előírnak, nullára állítani. Ezt így tehetitek meg:
* { padding: 0; margin: 0; }
Fűzzétek be ezt a sort a stíluslapotok elejére. Így már elkezdhetitek a dobozokat a kívánt helyre elhelyezni.
Doboztípusok
Annak módja, ahogyan egy elem végül megjelenik, és ahogyan hatást gyakorol más elemekre, az az elem típusától függ. Valójában a CSS specifikáció megkülönböztet a blokktípusú és az inline elemek között. (Vannak más típusok is, amelyeket ebben a pontban nem veszünk figyelembe, mivel alárendelt szerepet játszanak).
A blokkelemek mindig új sort hoznak létre. Az ezeket követő elemek szintén új sorban kezdődnek. Tipikus blokkelemek például a p, div, h1, ul stb. Ezekre az elemekre vonatkoznak a fent felsorolt tulajdonságok: külső margó, belső margó, magasság, szélesség és keret.
<h1>Digitális festés & Matte festés: A kép felépítésének meghatározása</h1> <p>Modul 2 - Rész 2: Egy kép mindig egész. Azonban mindig fontolóra kell venni, hogy hova tekint először a néző.</p>
A böngészőben látható eredmények azt mutatják, hogy a h1 és a p kitüntetett saját sorokat hoznak létre.
Az inline elemek viszont nem hoznak létre saját bekezdést, hanem inkább a normál szöveg folyamatában jelennek meg. Tipikus inline elemek például a span, em, strong, img, br stb. Az inline elemekre nincs érvényesek függőleges külső margók és szélesség- és magasságértékek.
<h1><em>Digitális festés & Matte festés</em>: A kép felépítésének meghatározása</h1> <p>Modul 2 - Rész két: <strong>Egy kép mindig egész</strong>. Azonban mindig fontolóra kell venni, hogy hova tekint először a néző.</p>
És itt az eredmény:
Most azokból az elemekből, amik valójában blokkelemek, blokkokká tehetünk.
<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 h1 {
 background-color:#00CCFF;
 }
 </style>
 </head>
 <body>
 <h1>Digitális festészet & Matrica festészet</h1>
 <p>Modul 2 - 2. rész: <em>Egy kép mindig egy egész</em>. Mindig el kell gondolkodnunk, hogy merre kell néznie az első pillantásra a nézőnek.</p>
 </body>
 </html>Nézzétek meg az eredményt a böngészőben.
A h1 címsor háttérszíne jelzi, hogy az elem az teljes szélességen elfoglal. Az szélesség az őt tartalmazó body-elemre vonatkozik.
Most jön a display tulajdonság játéka.
<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 h1 {
 display:inline;
 background-color:#00CCFF;
 }
 </style>
 </head>
 <body>
 <h1>Digitális festészet & Matrica festészet</h1>
 <p>Modul 2 - 2. rész: <em>Egy kép mindig egy egész</em>. Mindig el kell gondolkodnunk, hogy merre kell néznie az első pillantásra a nézőnek.</p>
 </body>
 </html>
A display: inline hatására az elem szélessége megváltozik.
Valójában most az elem szélessége az elérhető tartalmakhoz igazodik. Itt egy áttekintés arról, hogy milyen értékeket lehet még hozzárendelni a display tulajdonsághoz:
• none – nincs megjelenítés
• block – az elem blokkelemként jelenik meg, tehát új sort hoz létre.
• inline – az elem inline-elemként jelenik meg, tehát a futó szövegben látszik.
• inline-block – külsőleg blokkként jelenik meg, magassággal, szélességgel és külső margóval rendelkezhet. Minden elem azonban a futó szövegben marad. Így ez egy blokk- és egy inline-elem kombinációja.
• list-item – az elem blokkelemként jelenik meg. Előtte azonban felsorolójelet szúr be.
• run-in – a tartalomtól függően blokk- vagy inline-elemet hoz létre.
• table – mint az ismert table-elem HTML-ben.
• inline-table – mint az HTML table-elem, de inline-ban.
• table-row – az elemek egymás mellett vannak elrendezve. Mint az HTML tr-elem.
• table-cell – egy táblázatcella elemet képvisel, mint a th és td HTML-elemek.
• table-row-group – egy elemcsoportot tartalmaz egymás mellett elrendezett gyermek-elemekkel. Mint a HTML tbody-elem.
• table-header-group – egy elemcsoportot tartalmaz egymás mellett elrendezett gyermek-elemekkel. Mint a HTML thead-elem.
• table-footer-group – egy elemcsoportot tartalmaz egymás mellett elrendezett gyermek-elemekkel. Mint a HTML tfoot-elem.
• table-column – a következő sorok tulajdonságait írja le. A table-column mint az HTML col-elem.
• table-column-group – ez az elem egy olyan elemcsoportot tartalmaz, amelyen keresztül egy oszlop elemeinek tulajdonságait lehet leírni. Mint az HTML colgroup-elem.
• table-caption – ez határozza meg a táblázat feliratát. A tulajdonság az HTML caption-elemre hasonlít.
Tényleg a CSS számos különféle elem típusra különféle megjelenítési lehetőségeket kínál. Ezek kulcsszerepet játszanak az elemek elhelyezésével kapcsolatban. Erről többet a következő tutoriálisokban.
