1.14k likes | 1.32k Views
Stíluslapok (CSS) a webfejleszétben. Mi az a CSS?. A CSS jelentése Cascading Style Sheets, azaz egymásba ágyazott stíluslapok.
E N D
Mi az a CSS? • A CSS jelentése Cascading Style Sheets, azaz egymásba ágyazott stíluslapok. • A HTML oldalaink megjelenését befolyásoló nyelvről van szó, mely segítségével meghatározhatjuk, hogy hogyan (és hol) jelenjenek meg az egyes HTML elemek (paragrafusok, címsorok, stb.), pl. szín, méret, elhelyezkedés, margó.
Egymásba ágyazhatóság • több stíluslapot, meghatározást is megadhatunk egyszerre • egy stílus lehet több elemre is érvényes, amit egy másik stílussal felüldefiniálhatunk • a stílusok öröklődnek az oldal hierarchiája szerint, ha például a gyökér elemre definiálunk egy stílust, akkor az többnyire az oldal összes elemére érvényes (a tulajdonságok alapértelmezésétől függően)
Motiváció azaz miért is jó a CSS?
Miért CSS? Miért lesz egyszerűbb az életünk a CSS használatával? • Szeretnénk, ha a címsoraink betűi nagyok és sötétvörösek lennének, míg a bekezdéseink betűi kisebbek és sötétzöldek. Ezt HTML formázással a következőképpen tudjuk megvalósítani:
Miért rossz? • minden egyes címsor (h1) és bekezdés (p) esetén meg kellett határoznunk a megjelenést (font), ráadásul ezáltal sokkal kevésbé lett áttekinthető a HTML forrásunk • a betűk méretének meghatározására nincs más lehetőségünk (a szabvány szerint), csak az előre definiált (1-től 7-ig meghatározott) méretek közül kiválasztani a nekünk megfelelőt
Miért jobb így? • csak egyszer kell a formázást megtenni • a kód sokkal átláthatóbb lesz • a pontos méretet is meghatározhatjuk pixelben, vagy akár %-al, stb. • ha utólag módosítanunk kell a megjelenést, egyből csak egy helyen kell ezt megtennünk, s mindenhol meg is változik • az így elkészített dokumentum sokkal kisebb méretű is lesz, gyorsabban letöltődik (különösen, ha sok oldalon használjuk ugyanazt a stíluslapot)
Példa: stíluslap-váltás • A következő két kép ugyanazt a HTML oldalt mutatja, egyetlen különbség a stíluslap váltása
Beágyazott stíluslap • A stílusleírást a HTML oldal fejlécében kell elhelyezni, style elembe ágyazva. A fenti példában HTML megjegyzésbe is tettük (<!-- ... -->), ezzel azt érjük el, hogy az olyan böngészők, amik nem ismerik a stíluslapokat, ne jelenítsék meg a stílus definíciónkat. Az így meghatározott stílus az egész dokumentumra érvényes lesz.
Külső stíluslap • A stíluslapunkat elhelyezhetjük egy külső állományban is, így lehetővé téve, hogy az több HTML állományra is érvényes legyen, s központilag szerkeszthetővé váljon (ne kelljen minden egyes HTML állományt megváltoztatnunk, ha a honlapunk ezentúl másképp jelenne meg). A külső stíluslapokra az oldal fejlécében tudunk hivatkozni, egy link vagy style elem segítségével.
Külső stíluslap példa • A stíluslapot tartalmazó állományban csak a stíluslapjaink definícióját kell elhelyeznünk:
Importált stíluslap • egy stílus meghatározáson belül egy másik, külső stílus meghatározásra hivatkozunk: • külső stílus hivatkozásnak meg kell előznie minden más definíciót!
Elemhez rendelt stíluslap • Ritkán van rá szükség, de akkor jól jön, hogy az egyes HTML elemekhez helyben is tudunk stílust meghatározni • itt csak magát a megjelenést kellett leírnunk, nem kellett meghatározni, hogy mire vonatkozik: az így definiált stílus csak az adott elemre, illetve az adott elemen belül lesz érvényes.
Stílus-meghatározás • Kiválasztó:azt határozza meg, hogy mely HTML elemekre vonatkozzon a definíció • Tulajdonság:a megjelenést befolyásolja Pl: kiválasztó { tulajdonság }kiválasztó { tulajdonság }kiválasztó { tulajdonság }
Elem kiválasztása • Legegyszerűbb a HTML elemek használatapl: • Itt az első három szintű címsornak egyszerre határoztuk meg a színbeli megjelenését
Osztály alapú kiválasztás • A HTML elemeket lehetőségünk van osztályokba sorolni. Ekkor az adott osztályba sorolni kívánt elemhez egy class tulajdonságot rendelünk hozzá, amelynek az értéke az osztálynevünk lesz:
Osztály alapú kiválasztás • Legyen minden „fontos” osztályú tag megjelenítése piros: • Megjegyzés:az egyes stílusdefiníciók felül tudják bírálni egymást
Azonosító alapú kiválasztás • hasonló az osztály alapú kiválasztáshoz, • de azonosítóval csak egy elemet tudunk megjelölni.
Helyzetérzékeny kiválasztás • a fában egy adott elem alatt levő elemhez rendelhetünk stílust, például megmondhatjuk, hogy a táblázatokon belül levő félkövér betűk sötétkékek legyenek, miközben a többinek nem fog megváltozni a színe:
Szülő-gyermek kiválasztás • az elemeknek a (DOM) fában betöltött helye szerinti közvetlen szülő-gyermek kapcsolata esetén tudjuk megadni a stílus-meghatározását
Tulajdonság alapú kiválasztás • egy adott paraméter megléte, vagy annak az értéke szerint is lehet kiválasztani:
Variációk • Az eddigi kiválasztási módokat tetszés szerint variálhatjuk. Pl.
Betűtípus • az egész dokumentumra beállítjuk, hogy milyen betűkészlet legyen az alapértelmezett • érdemes több, hasonló betűkészletet is felsorolni, illetve a lista végére egy általános betűkészletet is elhelyezni az adott családból
Súlyosság • lehetőségek: lighter, normal, bold, bolder, illetve 100-tól 900-ig a számok 100-asával (egyre vastagabb betűkészletet választva)
Méret Megadási lehetőségek: • pixelben (mint a példában) • pontban (pt-t kell írni) • százalékban, • szövegesen (xx-small, x-small, small, medium, large, x-large, xx-large, smaller, larger)
Stílus • lehetőségeink: normal, italic, oblique
Csoportos megadás • Lehetőségünk van a fentieket egy paraméterként is átadni:
Szöveg paraméterek • h1 { color: black; } Fekete szín. Lehetőség van RGB megadásra is. • h1 { letter-spacing: 10px; }A címsor betűi közötti távolságot növeltük meg 10 képponttal. Lehetőségünk van növelni és csökkenteni a távolságot. • h1 { text-align: center; } Lehet: left, center, right és justify
Szöveg paraméterek • p { text-decoration: none; } lehetséges értékek: none, underline, overline, line-through, blink • p { text-indent: 40px; } bekezdések első sorának behúzása • h1 { text-transform: uppercase; } Lehetséges értékek: none, capitalize, uppercase és lowercase
Szöveg paraméterek • p { white-space: nowrap; }Szóközök, tabulátorok kezelését állíthatjuk a white-space attribútummal. A normal a sorvégeken tördeli a szöveget, a nowrap nem enged sortörést, míg a harmadik lehetséges érték, a pre megtartja egy az egyben a sortöréseket, szóközöket, tabulátorokat.
Szöveg paraméterek • p { word-spacing: 10px; }szavak közötti távolság • p { line-height: 20px; }sormagasságot állíthatjuk vele egy paragrafuson belül
Doboz modell • margó • keret • kitöltés • magasság • szélesség Bármilyen téglalap alakú tartalom esetén.
Háttér • Vezérelhetjük a háttér színét, képet helyezhetünk el háttérként, s annak tulajdonságait (elhelyezkedését, ismétlődését, mozgását) állíthatjuk be.
Háttér • background-color: white;értéke színkonstans vagy hexa érték lehet • background-image: url(hatter.gif); • background-position: top left; • background-attachment: scroll;lehetséges érték: fixed és scroll • background-repeat: repeat; lehetséges érték: repeat, repeat-x, repeat-y, no-repeat
Háttér • A háttér paraméterek egy összevonó background paraméterrel:
Keretek • border-width: 2pxszélesség • border-style: solidlehetséges értékek: none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset • border-color:blue
Keretek • Az előző példa egyetlen border tulajdonsággá összevonható:
Keretek • Lehetőségünk van a keretek mind a négy oldalon külön-külön történő beállítására, akár összevonva is: