6. fejezet¶
Helyzetmegadás¶
Egy weboldal elrendezésének kialakításakor gyakran előfordul, hogy meg akarjuk változtatni bizonyos objektumok alapértelmezett pozícióját. Erre szolgál CSS-ben a pozicionálás és helyzetmegadás.
A position tulajdonság¶
A HTML objektumok pozícióját a position
CSS tulajdonsággal adhatjuk meg. Értékei:
static
: a normál szövegfolyamban lévő hely, a pozicionálásoknak nincs hatása (alapértelmezett)relative
: a normál szövegfolyambeli helyéhez képest elmozdítja az elemet a kért mértékbenabsolute
: a legközelebbi, nem static helyzetű ősobjektum belső széléhez (vagy ilyen ős hiányában a viewport széléhez) képest pozicionálfixed
: az elem gördítéskor is rögzített helyen marad.
Az elemek függőleges pozicionálására a top
és bottom
, míg vízszintes pozicionálásra a left
és right
CSS tulajdonságokat használhatjuk. A static
módon pozicionált elemek esetén ezeknek az utasításoknak nincs hatása!
Példa: A position
tulajdonság használata (A kód működése kipróbálható itt)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
A fenti példa magyarázata:
- Az
absolute
módon pozicionált, "Első" feliratú elem az őt beágyazó legközelebbi, nemstatic
(hanem jelen esetbenrelative
) helyzetű elem (ez most aclass="container"
attribútumú<div>
) jobb felső sarkához igazodik. - A "Második" feliratú elem alapértelmezés szerint
static
helyzetű, így a pozicionálásnak nincs hatása. - A
fixed
helyzetű, "Harmadik" feliratú elem gördítéskor is rögzített helyen marad.
Tipp
Manapság gyakran szokták használni a sticky
kulcsszót is elemek pozicionálása során. Erről itt olvashatunk részletesebben.
Úsztatás¶
A float
CSS tulajdonsággal lehetőségünk van elemek úsztatására. Ekkor az úsztatott elemet a tartalom a másik irányból körbefutja (tehát például ha balra úsztatunk egy elemet, akkor jobbról fogja őt körbefutni a tartalom). A tulajdonság lehetséges értékei: left
(balra úsztatás), right
(jobbra úsztatás), none
(nincs úsztatás).
Példa: Egy kép balra úsztatása (A felhasznált kép forrása)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Ha meg szeretnénk akadályozni egy objektum körül egy másik, úsztatott objektum elhelyezését, akkor ezt a clear
CSS tulajdonsággal tudjuk megtenni. Lehetséges értékei: left
(balról nem lehet úsztatott elem), right
(jobbról nem lehet úsztatott elem), both
(sem balról, sem jobbról nem lehet úsztatott elem), none
(balról és jobbról is lehet úsztatott elem).
Árnyékok¶
CSS-ben a text-shadow
tulajdonsággal adhatunk egy szövegnek árnyékot. A tulajdonság értékeként rendre 4 paraméter adható meg: a vízszintes eltolás, a függőleges eltolás, az árnyék elmosódásának mértéke és az árnyék színe. Az utolsó két paraméter elhagyható.
A box-shadow
tulajdonsággal dobozszerű elemeknek is adható árnyék. Ennek értékeként rendre 5 paramétert adhatunk meg: a vízszintes eltolást, a függőleges eltolást, az elmosódás mértékét, az árnyék kiterjedését és az árnyék színét. Az utolsó három paraméter elhagyható.
Egy szöveghez vagy egy dobozhoz akár több árnyék is megadható, vesszővel elválasztva.
Példa: Árnyékok használata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
A z-index tulajdonság¶
A HTML elemek pozicionálásakor előfordulhat, hogy bizonyos elemek takarják egymást. Alapértelmezett módon az egymást takaró HTML objektumok közül mindig a kódban később szereplő elem kerül előtérbe.
Az elemek mélységi sorrendjét a z-index
CSS tulajdonsággal szabályozhatjuk. Ennek értéke tetszőleges egész szám lehet (akár negatív szám is). Ekkor az egymást takaró elemek közül az kerül előtérbe, amelynek nagyobb a z-index értéke. Az azonos z-index értékkel rendelkező elemek esetén a kódban később szereplő elem fogja takarni a másikat.
Példa: A z-index
tulajdonság használata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Megjegyzés
A z-index tulajdonságot csak olyan elemek esetében lehet használni, amelyeknek a pozícionálása nem "static".
Pseudo-elemek¶
Ha egy HTML objektum egy specifikus részét szeretnénk formázni (pl. egy szöveg első betűjét vagy első sorát), akkor használjuk a CSS pseudo-elemeket. Ezeket a szelektor után, dupla kettősponttal adjuk meg: szelektor::pseudoelem
.
A fontosabb pseudo-elemek:
::before
: generált tartalom közvetlenül az elem előtt::after
: generált tartalom közvetlenül az elem után::selection
: a kijelölt szövegrész::first-letter
: a szöveg első karaktere::first-line
: a szöveg első sora.
Példa: Pseudo-elemek használata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|