Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

A weblapkészítés technikája (HTML5, CSS3) és ergonómiája / Bevezetés a stíluslapok használatába /CSS3-as szelektorok bemutatása

CSS3-as szelektorok bemutatása

Ahhoz, hogy a HTML-oldalunkon a különböző elemeket elérhessük különböző szelektorokat használhatunk. A következőkben ezeket mutatjuk be, különböző példákon keresztül.

Univerzális szelektor (*)

Univerzális szelektor segítségével olyan CSS-szabályok írhatók, amelyek minden egyes HTML-elemre vonatkoznak. Így könnyedén adhatunk globális stílusjegyeket a formázandó weblaphoz. Az univerzális szelektort egy * (csillag) testesíti meg.

Minta: * {definíció}

Példa
Forráskód
* {
     margin:0;  /* margó lenullázása */ 
     padding:0; /* kitöltés lenullázása */
  }
p  {margin:10px}
Magyarázat

A * szelektort nagyon gyakran arra használjuk, hogy minden elem margóját és kitöltését

lenullázzuk. Ezen értékeket aztán minden általunk használt elem esetén újra beállítjuk, így

egységesek lesznek a margók és kitöltések, vagyis nem az adott böngésző alapbeállításán múlnak.

Kapcsolódó ergonómiai elvek

Fontos elvárás, hogy a weblapunk egységesen jelenjen meg a különböző böngészőprogramokban, a fenti szabály ezen elv elérését könnyíti meg (de önmagában még nem elegendő.)

Érdekesség

Az univerzális szelektor a CSS2-es szabványban jelent meg először. Amíg ezt nem vezették be, ugyanezen célból kellett egy külön stíluslapot (CSS reset) alkalmazni, amelyben az összes elem margó, kitöltés stb. értéke be volt állítva az alapértékre.

Ezt a stíluslapot (illetve a korábbi változatot) elérhetjük a CSS reset weboldalon.

Típus szelektor (E)

A típus szelektorral egy adott elemtípust határozhatunk meg. Például megcímezhetjük az összes bekezdést, címsort, listaelemet stb.

Minta: szelektor {definíció}

Példa
Forráskód
     h1 {color:blue}
Magyarázat

A fenti szabállyal az egyes szintű címsorok színét állítjuk be kékre.

Szelektor leszármazott elemre (E F)

Ha egy HTML-elem leszármazottaihoz szeretnénk stílust hozzárendelni, akkor egy speciális szelektorlistát kell alkalmazni, amelyben a szelektorokat szóközök választják el. Ha a listában egy szelektor megelőz egy másikat, akkor az előbb szereplő szelektor a később szereplő szelektor ősét jelenti. Fontos, hogy a szelektorlistában egymást követő szelektorok nem feltétlenül egymás közvetlen gyermekei illetve szülei. Ne feledjük, hogy csak a szelektorlista utolsó eleme lesz stílussal ellátva.

Minta: szelektor1 szelektor2 {definíció}

Az alábbi példában egy egymásbaágyazott listát láthatunk. Azt szeretnénk, hogy a beágyazott lista elemei dőlt betűvel és kék színnel, míg a fő listaelemek zölden jelenjenek meg.

Példa
Interaktív példa
Magyarázat

A <li> elemekre beállítottuk a zöld színt. Emiatt viszont minden listaelem zöld lesz. Ezért a zöld színt felülírjuk majd a beágyazott listaelemekre. Az ul li li szelektorlánccal olyan listaelemeket érünk el, amelyek maguk is egy olyan listaelembe vannak ágyazva, ami egy felsorolás lista (<ul>) elembe van ágyazva. Itt állítjuk be a kék színt és a dőlt megjelenést.

Szelektor gyermek elemre (E > F)

Ha azt szeretnénk kifejezni, hogy az egyik szelektor a másik gyermeke, akkor a szelektorlistában a szelektorokat > jellel választjuk el. Ne feledjük, hogy csak a szelektorlista utolsó eleme lesz stílussal ellátva.

Minta: szelektor1 > szelektor2 {definíció}

Példa
Interaktív példa

Szelektor közvetlen testvérre (E+F)

Szelektorlistával lehetőségünk van közvetlen testvérségi viszony kifejezésére is. Ekkor a listában levő szelektorokat + jellel választjuk el. Ne feledjük, hogy csak a szelektorlista utolsó eleme lesz stílussal ellátva.

Minta: szelektor1 + szelektor2 {definíció}

Példa
Interaktív példa

Szelektor általános (azaz tetszőleges) testvérre (E ~ F)

Az általános testvérségi viszony kifejezésére is van lehetőség szelektorlistával. Ekkor a szelektorokat ~ jellel választjuk el. Ne feledjük, hogy csak a szelektorlista utolsó eleme lesz stílussal ellátva.

Minta: szelektor1 ~ szelektor2 {definíció}

Példa
Interaktív példa
Magyarázat

A HTML-kódunk ugyanaz, mint az előző példában, az eredmény viszont más, hiszen az ötödik bekezdés is világoszöld színnel jelenik meg, mivel előtte van (nem közvetlen) bekezdés testvére.

Osztályok (class)

Az előző példákban láttuk, hogy az elemeket a HTML-oldalban betöltött struktúra alapján megcímezhetjük, de mi a helyzet akkor, ha nem a struktúra, hanem más szempont szerint szeretnénk az elemeket elérni? Mondjuk az általunk fontosnak tartott elemeket ki szeretnénk emelni? Erre lesz jó az osztályok használata.

A HTML-elemeinket a class attribútummal kiegészítve és annak értéket adva osztályba sorolhatjuk.

Forráskód
<p class="fontos">Bekezdés szövege</p>

Az így definiált osztályokra hivatkozhatunk szelektorral, ezáltal minden osztályhoz egységes stílus rendelhető.

Az osztályszelektor többféle módon megadható, a szintaxis a következő:

Fontos tudnunk azt is, hogy az elemeket egyszerre több osztályba is besorolhatjuk!

Példa
Interaktív példa
Magyarázat

A fenti példában használtunk általános osztályt, mutattuk példát arra, hogy ugyanaz az osztálynév mást-mást jelenthet különböző szelektorok esetén, és többes osztálybesorolásra is van példa.

A fentiekben láttuk, hogy ha több osztályba is besoroljuk az elemet, akkor az osztályokban megadott tulajdonságok egyben vonatkoznak az adott elemre. Ez azonban nem mindig optimális, lehet, hogy finomítani szeretnénk a stíluson, ha egyszerre két osztályba is be van sorolva az adott elem. Ekkor használhatjuk a következő szelektort:

Forráskód
szelektor.osztály1.osztály2 {definíció}

A következő példa egy ilyen esetet mutat be.

Példa - Elem több osztályba sorolása

Interaktív példa
Magyarázat

A szegely osztályba sorolás hatására egy kék, pontozott szegély jelenik meg. A fontos osztály pedig a piros szövegszínről gondoskodik. Így ha egy címsort mindkét osztályba besorolnánk, akkor kék, pontozott szegéllyel és piros színnel kellene megjelennie. Ami miatt ez nem így történik, az a h1.szegely.fontos szelektorunk, mert itt megadtuk azt, hogy ha az elem a szegely és fontos osztályba is be van sorolva, akkor a szegélye vékony, piros színű legyen, a szöveg színe pedig fekete.

Egyedi azonosítók (ID)

A HTML-elemeket az id paraméterrel elláthatjuk egyedi azonosítókkal.

Forráskód
<div id="logo"></div>

Az így definiált egyedi azonosítókra hivatkozhatunk szelektorokkal, amelyek szintaxisa a következő: elem#id

Forráskód
   div#logo {margin:20px;}

Mivel minden id egyedi, ezért a szelektor a következő módon rövidíthető: #id

Megjegyzés

A HTML 4.01-es szabványban az egyedi azonosítókra az volt igaz, hogy betűvel kezdődhetnek, amelyet számok, betűk és a következő jelek követhetnek: - _ : .

A HTML5 szabványban nem ilyen szigorú a megkötés, az azonosítónak legalább 1 karakter hosszúnak kell lennie és nem tartalmazhat szóközt.

Példa
Interaktív példa
Magyarázat

Az első képnek a logo azonosítót adtuk, és beállítottuk hogy ezen azonosítója elem dupla, fekete szegéllyel jelenjen meg.

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.

A tananyag az ELTE - PPKE informatika tananyagfejlesztési projekt (TÁMOP-4.1.2.A/1-11/1-2011-0052) keretében valósult meg.
A tananyag elkészítéséhez az ELTESCORM keretrendszert használtuk.