Azok a szelektorok határozzák meg, hogy a CSS stílusok hogyan kerülnek hozzárendelésre az HTML elemekhez. Az illesztőkifejezés meghatározásakor először meg kell adni az elem nevét, amelyre a szelektor hivatkozni fog. Az aktuális deklaráció ezután kapcsos zárójelekben történik. Egy deklarációban egy vagy több tulajdonságot lehet megadni. Az általános szintaxis tehát a következőképpen néz ki:
Szelektor {
Tulajdonság1: Érték;
Tulajdonság2: Érték;
Tulajdonság3: Érték;
}Egy ilyen meghatározással már találkoztatok az előző tutorialban.
h1 {
font-family:"Courier New", Courier, monospace;
font-size: 200%;
}
Feltétlenül ügyeljetek arra, hogy minden deklarációt pontosvesszővel zárjatok.
Pillantás a rendelkezésre álló szelektorokra
A CSS valóban számos szelektorral rendelkezik, amelyek közül az egyik legfontosabbakat fogom nektek bemutatni. Mert egyértelmű, hogy csak akkor lehet értelmes CSS tulajdonságokat meghatározni, ha az ember tudja kezelni a szelektorokkal való munkát.
A legkönnyebb módja annak, hogy stílusokat rendeljen egy HTML-dokumentumban az Elem-Szelektorral történik.
Az alábbi szintaxis segítségével az összes p elemnek fekete színt rendelünk.
p {
color: #009966;
}
Ha több elemnek szeretnétek ugyanazt a stílust hozzárendelni, az is lehetséges.
Ebben az esetben egyszerűen felsoroljátok a megfelelő elemeket egymás után, vesszővel elválasztva őket.
p, h1, li {
color: #000;
}
Lehet elemeknek több stílust is hozzárendelni. A stílusokat pontosvesszővel elválasztva kell megadni.
p {
color: #000;
background-color: red;
}
A fent említett változatok kombinálása is lehetséges.
p, h1, li {
color: #009966;
background-color: red;
}
A végeredmény így nézhet ki:
Több elemet tartalmazó területek
Gyakran szükség van arra, hogy formázd egy területet, amely több HTML-elemet tartalmaz. Ilyen esetekre az HTML-ben két speciális elem áll rendelkezésre, a span és a div. Ezek az elemek - amúgy ebben a sorozatban is - gyakran előfordulnak.
Egy példa:
<div class="artikel"> <h1>Színrobbanás</h1> <p class="thema">Egy színrobbanás létrehozásának útmutatója <span class="autor">MarkusMelzer</span> által.</p> </div>
A div és a span közötti különbség az, hogy a div elem kényszeríti az új sort a szövegáramlásban. A span viszont nem generál új sort. A bemutatott példában egy div-terület kerül definiálásra, amelyben egy cím és egy szövegbekezdés található. A szövegbekezdésen belül van egy span-terület.
ID- és osztály-szelektorok
Edig elem-szelektorokat használtunk. Egy ilyen szelektorral az összes h1 címet formázni lehet.
h1 {
color: #000;
background-color: red;
}
Ez azonban természetesen nem mindig kívánatos. Például mit csináljunk, ha csak egy vagy néhány, de nem az összes h1 címet szeretnénk bizonyos tulajdonságokkal felruházni? Ilyen esetekre a CSS két lehetőséget kínál, az osztály- és az ID-szelektorokat.
Osztállyal a HTML-elemeket osztályattribútumokkal lehet közvetlenül kiválasztani. Az érintett HTML-elemhez meg kell adni az class attribútumot. Az osztálydefiníciók egy ponttal kezdődnek.
Példa:
.piros {
color: red;
}
Ebben a példában a piros osztályt meghatározták. A pirosra állított tulajdonságokat egy HTML-elemhez való hozzáadáshoz a class követi az osztálynév.
<p class="piros">PSD-Tutorials.de</p>
Az ID-szelektor hasonlóan egyszerűen használható. Az ID-szelektort egy dupla kereszttel lehet felismerni.
#topnavi {
color: blue;
};Ebben a példában a topnavi ID-t határozták meg. De figyelem: egy ID-t ténylegesen csak egyszer lehet hozzárendelni egy dokumentumban. Az egy definiált ID tulajdonság elérésének a következőképpen kell kinéznie:
<div id="topnavi">Itt található a navigáció</div>
Az id attribútumhoz az ID nevet rendeljük hozzá. Ügyeljetek rá, hogy itt a kettőskeresztet ne írjátok be.
A bemutatott adatok egyébként is kombinálhatók egymással. Így például egy HTML elemhez több osztályt is hozzárendelhetünk.
<p class="rot gross">PSD-Tutorials.de</p>
Ebben a példában a szövegbekezdéshez a két osztály, a rot és a gross kerül hozzárendelésre. Ha egy osztályt és egy ID-t szeretnétek megadni, akkor az így néz ki:
<p class="rot" id="navi">PSD-Tutorials.de</p>
Hasonlóképpen lehet elemeket és ID-ket kombinálni. Erről is egy példa:
div.navi {
color: blue;
}
Ez a szintaxis csak a div elemekre alkalmazható navi osztályúak számára. Az ugyanazon navi osztályú p elemek érintetlenek maradnak.
A CSS még egy további módja van a szelektorok kombinálásának. Tekintsük meg a következő szintaxist:
h1 {
color: red;
}
em {
color: blue;
}
Ebben a szintaxisban minden 1. szintű címsor piros színűvé válik. Az em elemek pedig kék színt kapnak.
Az előbbi utasítások kombinációjával csak az em elemek lesznek kék színűek, amelyek a h1 elemekben találhatók.
h1 em {
color: blue;
};
Az elemneveket itt vesszők nélkül választjuk el egymástól.
Ez egyébként egy gyakori hibaforrás, amit különösen a CSS kezdők tapasztalnak meg. Ugyanez a szintaxis, amelyben azonban vessző van beállítva:
h1, em {
color: blue;
}
Mit jelent ez a szintaxis? Az összes h1 és em elem érintett lesz. Tehát ez teljesen mást jelent, mint a vessző nélküli szintaxis!
Egy másik fontos szelektor a Univerzális szelektor. Ez lehetővé teszi egy tetszőleges elem kiválasztását. Ennek a szelektornak az XML-ben történő beállítása egy csillag segítségével történik.
* {
color: red;
}
Ezzel a szintaxissal az összes elem piros színűvé válna. Ebben a szelektor esetében ismét figyelembe kell venni néhány szintaxis-különlegességet.
#mainnavi * {
color: red;
}
Ebben a példában a #mainnavi azonosítójú elem összes belső elemének előtér-színe pirosra van állítva. Ez azonban nem vonatkozik magára az elemre.
Ha a Univerzális szelektor az egy deklaráció elején állna, akkor nem lenne szükséges beírni. Így ez felesleges lenne:
* p {
color: red;
}
Ez a szintaxis ugyanazt jelenti, mint a következő:
p {
color: red;
}
A következő tutorialban további szelektorokat fogtok megismerni.