HTML & CSS for nybegynnere

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorer (1)

Alle videoer i opplæringen HTML & CSS for nybegynnere

Selektorene bestemmer på hvilken måte CSS-stiler tildeles HTML-elementer. Ved en passende definisjon angis først navnet på elementet som selektoren skal gripe inn på. Den faktiske deklarasjonen skjer deretter innenfor krølleparenteser. Innenfor en deklarasjon kan en eller flere egenskaper angis. Den generelle syntaksen ser derfor slik ut:

Selektor {
   Egenskap1: Verdi;
   Egenskap2: Verdi;
   Egenskap3: Verdi;
}

En tilsvarende definisjon har dere allerede støtt på i forrige veiledning.

h1 {
   font-family:"Courier New", Courier, monospace;
   font-size: 200%;
}



Pass på å avslutte hver deklarasjon med en semikolon.

HTML & CSS for nybegynnere (del 26): Slik fungerer tilgangen med selektorer (1)

Et blikk på de tilgjengelige selektorene

Faktisk har CSS et ganske stort utvalg av selektorer, og jeg vil introdusere de viktigste for dere. For det er klart: Bare ved å beherske arbeidet med selektorer kan man fornuftig definere CSS-egenskaper.

Den enkleste måten å tildele stiler til elementer i et HTML-dokument på, er ved hjelp av Element-selektoren.

Ved å bruke følgende syntaks blir alle p-elementene tildelt fargen svart.

p { 
   color: #009966; 
}



Hvis dere vil tildele flere elementer samme stil, er det også mulig.

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorer (1)

I dette tilfellet skriver dere bare ned de relevante elementene etter hverandre, adskilt med komma.

p, h1,  li { 
   color: #000; 
}



Dere kan også tildele elementer flere stiler. Stilene noteres hver for seg med en semikolon.

p { 
   color: #000; 
   background-color: red;
}



En kombinasjon av nevnte varianter er også mulig.

p, h1,  li { 
   color: #009966; 
   background-color: red;
}



Resultatet kan se slik ut:

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorer (1)

Områder med flere elementer

Ofte er det nødvendig å formatere et område som består av flere HTML-elementer. For slike tilfeller har HTML to spesielle elementer: span og div. Disse elementene vil dukke opp for dere - faktisk også i denne serien - gjentatte ganger.

Et eksempel:

<div class="artikkel">
  <h1>Fargeeksplosjon</h1>
  <p class="tema">En veiledning om opprettelse av fargeeksplosjon av <span class="forfatter">MarkusMelzer</span>.</p>
</div>



Den eneste forskjellen mellom div og span er at div-elementet tvinger frem en ny linje i tekstflyten. span derimot skaper ikke en ny linje. I det viste eksempelet defineres et div-område der det finnes en overskrift og en tekstavsnitt. Innenfor tekstavsnittet er det igjen et span-område.

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorer (1)

ID- og klasseselektorer

Hittil er Element-selektorer blitt brukt. Ved det følgende eksemplet blir alle h1-overskrifter formatert ved hjelp av en slik selektor.

h1 { 
   color: #000; 
   background-color: red;
}



Dette er imidlertid ikke alltid ønsket på denne måten. Hva skjer for eksempel hvis dere vil tildele visse egenskaper bare til én eller noen få, men ikke alle h1-overskrifter? For slike tilfeller tilbyr CSS to muligheter, nemlig klasse- og ID-selektorer.

Med klasse-selektorer kan HTML-elementer med klasseattributter velges helt spesifikt. I det aktuelle HTML-elementet må attributtet class angis. Klassedefinisjoner begynner med en prikk.

Et eksempel:

.rød { 
   color: red; 
}



Her ble klassen rød definert. For å legge til de tildelte røde egenskapene til et HTML-element, skriver man class etterfulgt av klassenavnet.

<p class="rød">PSD-Tutorials.de</p>



ID-selektoren kan enkelt brukes på samme måte. Dere kan kjenne igjen ID-selektoren ved et dobbelthashtecken.

#toppnavigering { 
   color: blå; 
};

I dette eksempelet defineres IDen toppnavigering. Men vær oppmerksom: En ID kan faktisk bare tilordnes én gang i et dokument. Tilgangen til en definert ID-egenskap ser da slik ut:

<div id="toppnavigering">Her er navigeringen</div>



Attributet id tilordner ID-navnet. Pass på at dobbelthash ikke skrives her.

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorer (1)



De viste opplysningene kan også kombineres med hverandre. Slik kan man for eksempel tilordne flere klasser til et HTML-element.

<p class="rød stor">PSD-Tutorials.de</p>



I dette eksempelet tilordnes teksten de to klassene rød og stor. Hvis du vil angi en klasse og en ID, vil det se slik ut:

<p class="rød" id="navi">PSD-Tutorials.de</p>

Du kan også kombinere elementer og ID-er. Her er et eksempel:

div.navi { 
   color: blå; 
}



Dette syntaksen ville kun gjelde for div-elementer med klassen navi. p-elementer som også har klassen navi ville ikke bli berørt av dette.

I CSS finnes det en annen måte å kombinere selektorer på. Se på følgende syntaks:

h1 { 
   color: rød;
}
em { 
   color: blå; 
}



Alle førsteoverskrifter tildeles fargen rød her. em-elementer vil derimot få fargen blå.

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorene (1)

Ved å kombinere de to instruksjonene kan du sørge for at bare em-elementer farges blå som er innenfor h1-elementer.

h1 em { 
   color: blå; 
};



Elementnavnene noteres her uten kommaer som skiller dem.

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med plukkerne (1)

Dette er forresten en vanlig feilfelle som selv CSS-nybegynnere kan gå i. Her er samme syntaksen, men med et komma satt:

h1, em { 
   color: blå; 
}



Hva betyr denne syntaksen? Den henvender seg til alle h1- og alle em-elementer. Dette er altså noe helt annet enn syntaksen uten komma!

HTML & CSS for nybegynnere (Del 26): Slik fungerer tilgangen med selektorer (1)

En annen viktig selektor er universalselektoren. Den tillater valget av et hvilket som helst element. Denne selektoren defineres med en stjerne.

* { 
   color: rød; 
}



Ved denne syntaksen vil alle elementer farges røde. Også med denne selektoren er det visse syntaks-spesialiteter å ta hensyn til.

#mainnavi * { 
   color: rød; 
}



I dette eksempelet vil forgrunnsfargen på alle elementer innenfor elementet med ID mainnavi settes til rød. Dette gjelder imidlertid ikke for elementet i seg selv.

Hvis universalselektoren står i begynnelsen av en deklarasjon, trenger den faktisk ikke å noteres. Slik som dette for eksempel ville være unødvendig:

* p { 
   color: rød; 
}



Denne syntaksen er tilsvarende følgende:

p { 
   color: rød; 
}



I neste opplæring vil du lære om flere selektorer.