Ismerkedés a CSS dobozmodelljével
A megjelenítés beállításai (display)
A display tulajdonság segítségével meghatározhatjuk, hogy az elem miképpen generálódjon. Ezzel az elemmel blokkszintű elemeket is megjeleníthetünk inline (soron belüli) elemként és fordítva, de számos más beállítási móddal is élhetünk, amelyeket konkrét példákon keresztül be is mutatunk. Nézzük először az egyes értékeket.
- Az inline érték hatására az elem és a testvérei vízszintesen balról jobbra lesznek elrendezve, amíg el nem fogy a vízszintes hely a szülő elemben. Ekkor új sorban balról jobbra ugyanígy folytatódnak az elemek.
- A block érték hatására az elem előtt és után sortörés illesztődik be.
- A inline-block érték hatására az elemet soron belülinek veszi, de annak környezetét blokknak.
- A run-in érték segítségével, ha az elemet blokk elem követi, akkor annak inline eleme lesz. Ha nem blokk típusú a következő elem, akkor blokként jelenik meg.
- A table/table-cell/table-footer-group/table-header-group/table-row/table-row-group/inline-table értékek a nevükből következő táblázatelemnek megfelelő kinézetet biztosítanak elemünknek.
- A list-item érték listaelem megjelenést kölcsönöz az elemnek.
- Az inherit hatására a szülő elemtől öröklődik a tulajdonság értéke.
- A none érték elrejti az elemet, nem jelenik meg a böngészőablakban.
MegjegyzésA CSS3-as szabvány a fentieken kívül más, ritkábban (speciális esetben) használt értéket is tartalmaz, amelyek a CSS basic box model oldalon elérhetőek.
Nézzünk tehát konkrét példákat!
inline megjelenítés
Példa - Blokkszintű elem megjelenítése soron belüliként
MagyarázatA listaelemek (<li>) blokk szintű elemek, vagyis a böngésző ezek előtt és után sortörést hajt végre. Most viszont a display:inline megadással ezeket soron belüli elemekként jelenítjük meg. Így hogy a listajelölőt is eltűntettük rá sem ismerünk arra, hogy a menüpontokat felsoroláslistában helyeztük el.
Kapcsolódó akadálymentességi elvekMivel a listaelemek között jól lehet navigálni képernyőolvasó programokkal, a menüt gyakran helyezzük el felsoroláslistában.
Vissza a tartalomjegyzékhez
inline-block megjelenítés
Amennyiben egy elemet soron belüliként jelenítünk meg, akkor nincs lehetőségünk az elem szélességének és magasságának beállítására. Az inline-block megjelenítéssel viszont erre is van módunk.
Példa - Inline-block megjelenítés szemléltetése
MagyarázatEbben a példában is egy felsoroláslista megjelenítését módosítjuk, de most úgy, hogy az elemek az inline-block megjelenítés miatt szélesség és magasság beállítást is kaphattak. Ezt kihasználtuk úgy, hogy az értékeket oszlopdiagram szerűen jelenítjük meg.
Vissza a tartalomjegyzékhez
Block érték demonstrálása
Most nézzünk egy példát arra, hogy egy soron belüli elemet blokkszintűvé alakítunk!
Példa - Soron belüli elem megjelenítése blokkszintű elemként
MagyarázatEbben a példában a <b> tagre a blokkszintű megjelenés lesz érvényes, ezért minden <b> tagben elhelyezett szöveg új sorban fog megjelenni.
Vissza a tartalomjegyzékhez
Befutó (run-in) megjelenítés
Lehet olyan speciális eset is, amikor azt szeretnénk elérni, hogy egy elem az utána következő blokk szintű elem első, soron belüli eleme legyen. Jó példa erre, amikor egy címsort szeretnénk úgy megjeleníteni, hogy ne legyen előtte és utána térköz, hanem az utána következő elem soron belüli eleme legyen. Ehhez szükséges a run-in érték használata.
Példa - Befutó (run-in) megjelenítés bemutatása
MagyarázatA címsor blokkszintű elem, de a display:run-in definíció hatására a bekezdés első, soron belüli elemként jelenik meg.
Vissza a tartalomjegyzékhez
Táblázatos megjelenítés (table, table-row, table-cell)
A következőkben arra hozunk példát, hogy táblázatszerű megjelenést elérhetünk a HTML <table><tr><td> tagjainak használata nélkül is.
Példa - Táblázatszerű megjelenítés
MagyarázatA forráskódban elhelyezett kommentek alapján látszik, hogy hogyan értük el a táblázatos megjelenést. A div elemeknek táblázat, táblázat sor és táblázat cella megjelenítési módot állítottunk be.
Vissza a tartalomjegyzékhez
Elem eltüntetése (none)
Az is elképzelhető, hogy egy elemet nem akarunk megjeleníteni bizonyos okok miatt, ekkor a display:none; tulajdonságot is használhatjuk.
Az alábbi példában a nyomtatás során nem jelenítjük meg a menüt, a képernyőn viszont az az üzenet nem jelenik meg, amit a nyomtatásban során szeretnénk megjeleníteni.
Példa - Elem eltüntetés
MagyarázatA fenti példában a képernyőre és a nyomtatásra más-más stílust hoztunk létre. A képernyőn történő megjelenítésnél eltüntetjük a nyomtatásra szánt láblécet, a nyomtatásban viszont felesleges a menüt kinyomtatni, így azt tüntetjük el.
Kapcsolódó akadálymentességi elvekÜgyeljünk arra, hogy azon elemeket, amelyeket a képernyőolvasót használó felhasználók számára akarunk elhelyezni, viszont mások számára láthatatlanná szeretnénk tenni, NE a display:none; beállítással tüntessük el, mert ezt a beállítást a képernyőolvasó programok (jellemzően) úgy értelmezik, hogy az elem tartalmát figyelmen kívül kell hagyni.
Ilyen esetekben inkább éljünk a képernyőről való kipozícionálás lehetőségével!
Vissza a tartalomjegyzékhez