CSS: Inleiding tot CSS

  1. Specificaties
  2. Basisbegrippen
  3. Relaties tussen elementen
  4. Overerving
  5. DIV en SPAN-elementen

Specificaties

CSS heeft al een behoorlijke evolutie doorgemaakt: Geschiedenis van CSS bij het W3C.

De huidige standaardversie voor CSS is CSS 2.1, wij behandelen deze dan ook verder in de cursus.

Basisbegrippen

Cascading Style Sheets (CSS) is een manier om stijl (lettertypes, kleuren, witruimtes, ...) aan webdocumenten toe te voegen.

Om deze cursus goed te kunnen volgen is het nodig eerst de cursus HTML onder de knie te hebben.

CSS vomen in de eeste plaats een manier om inhoud en opmaak van een webdocument te scheiden. Het is de bedoeling de CSS-opmaak van de elementen op een webpagina op een centrale plaats aan te geven, en de opmaakeigenschappen dan toe te passen op de aanwezige HTML-elementen.

CSS in HTML inbedden

CSS kan als volgt gebruikt worden op een webpagina:

Stijldeclaratie

Een stijldeclaratie bestaat uit de correcte CSS-naam van een eigenschap gevolgd door een dubbele-punt en de waarde voor deze eigenschap. eigenschap-waarde paren worden gescheiden door een puntkomma.
eigenschap: waarde;
...

Stijlregels

In een stijlblok of in een extern stijlbestand worden eigenschappen aangegeven met stijlregels.

In een stijlregel geef je eerst een selector en daarna tussen accolades een stijldeclaratie op.

selector {stijldeclaratie}
Selectoren komen nog uitgebreid aan bod, deze kunnen verwijzen naar een of meerder tags, naar attributen, klassen of id's.

Stijlblokken kunnen ook @-regels en commentaar ( /* ... */ ) bevatten.

Werken met inline stijlen

Je kan met het HTML-attribuut style in zowat elke tag gebruik maken van CSS:
<h1 style="color:red">Gebruik van inline stijlen</h1>
<p style="color:green">
Inline stijlen zijn <b>een eerste</b> manier om <b>CSS</b> te gebruiken.
</p>

Werken met een stijlblok

Een stijlblok gebruik je om stijldeclaraties vast te leggen voor de ganse webpagina.

Een stijlblok plaats je best in de hoofding van de webpagina.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
 <TITLE>Cursus CSS - IVO Brugge</TITLE>
 <style type="text/css">
 h1 { color:red }
 p { color:green }
 </style>
</HEAD>
<BODY>
<h1>Gebruik van een stijlblok</h1>
<p>
Inline stijlen zijn <b>een eerste</b> manier om <b>CSS</b> te gebruiken.
</p>
</BODY>
</HTML>

Werken met een extern stijlblad

inl3.css
 h1 { color:red }
 p { color:green }
 
inl3.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
 <TITLE>Cursus CSS - IVO Brugge</TITLE>
 <LINK HREF="inl3.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY>
<h1>Gebruik van extern stijlblad</h1>
<p>Inline stijlen zijn <b>een eerste</b> manier om <b>CSS</b> te gebruiken.</p>
</BODY>
</HTML>

Relaties tussen elementen

Om een goed inzicht te verkrijgen in CSS is het heel belangrijk in te zien hoe elementen op een webdocumenten zich tot elkaar kunnen verhouden. Het is duidelijkst dit te bekijken aan de hand van een voorbeeld:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
  <HEAD>   
  <TITLE>Mijn webpagina</TITLE>
  </HEAD>
  <BODY>
    <H1>Mijn webpagina</H1>
    <P>Welkom op mijn webpagina! Mijn favoriete bands zijn:
    <UL>
      <LI>Ozark Henry
      <LI>Novastar
      <LI>Admiral Freebee
    </UL>
  </BODY>
</HTML>
Boomstructuur:

boomstructuur

Uit de boomstructuur kan je afleiden dat bepaalde elementen omvat worden door andere elementen, dat bepaalde elementen zich op hetzelfde niveau bevinden als andere elementen en dat bepaalde elementen omvat worden door andere elementen.

We kunnen over bovenstaande pagina het volgende zeggen:

Uit dit voorbeeld komen we tot volgende afspraken:
relatie beschrijving
parent (ouder) Bovenliggende element in de boomstructuur: elk element heeft exact één parent, behalve het root-object dat er geen heeft.
child (kind) A is een child van B als en alleen als B de parent is van A
descendant (afstammeling) A is een descendant van B als B de parent is van A of A is child van een element C dat een descendant is van B.
ancestor (voorouder) A is een ancestor van B als B en alleen als B een descendant is van A.
sibling (gelijke) A is een sibling van B als en alleen als A en B hetzelfde parent-element hebben.

Preceding sibling: komt voor een element uit de boomstructuur

Following sibling: komt na een element uit de boomstructuur

preceding element (voorafgaand) A is preceding B als A een ancestor is van B of als A een preceding sibling is van B.
following element (voorafgaand) A is following B als B is preceding A.

Overerving

Je weet dat je op drie niveaus stijlen kan definiëren: in een extern stijlblad, in een stijlblok en in het style-attribuut van een element.

Je kan op elk van die niveaus een stijl kunnen definiëren voor hetzelfde element (h1, h2, p, ...).
De concrete opmaak wordt dan als volgt opgebouwd:

  1. Opmaak door de browser gedefiniëd
  2. Opmaak in stijlregels (in stijlblokken of extern stijlbestanden), naargelang de invoegpositie in het document, de door de browser vooropgestelde opmaak wordt overgenomen, de opmaak in eerdere stijlregels wordt steeds verder overgenomen.
  3. Opmaak gedefiniëerd in het style-attribuut

Het overnemen van opmaakeigenschappen uit vorige stijlregels wordt overerving genoemd, vandaar de term Cascading Style Sheets.

Vaak worden ook eigenschappen overgeërfd van ancestor-elementen, daar dit niet voor alle eigenschappen het geval is kan je dit specifiek aanduiden met het sleutelwoord inherit.

DIV en SPAN-elementen

Je kan style sheets gebruiken door stijlen aan HTML-tags te koppelen. Daar je niet steeds gebruik zal willen maken van hoofdingen, alinea's, font-tags bestaan er twee tags die enkel tot doel hebben stijldefinities te gebruiken.

Het blok-element hiervoor is DIV

Het inline-element is SPAN

Deze tags zullen in het verdere verloop van de cursus veelvuldig gebruikt worden. Het verschil tussen blok- en inline-elementen komt ook nog uitvoerig aan de orde.

Meer tutorials:
leer ook: html | xhtml | css | asp | asp.net | c# | ado.net | linq | ajax | java | javascript
Valid HTML 4.01! Valid CSS! © - Cursusweb