HTML & CSS for begyndere

HTML & CSS for begyndere (del 25): Dette er CSS

Alle videoer i tutorialen

I løbet af denne serie er der allerede blevet gjort opmærksom på stylesheets flere gange. Disse stylesheets muliggør en strikt adskillelse af layout og design. HTML-elementer er takket være CSS udelukkende ansvarlige for den logiske eller semantiske beskrivelse af webdokumentet.

Erfaringsmæssigt er det nyttigt i begyndelsen at vide, hvordan et stylesheet egentlig ser ud. Se et første eksempel.

<!DOCTYPE html>
<html lang="de">
<head>
<title>PSD-Tutorials.de</title>
<meta charset="UTF-8" />
<style>
h1 {
   font-family:"Courier New", Courier, monospace;
   font-size: 200%;
}
p {
   font-family:Geneva, Arial, Helvetica, sans-serif;
   color:#0066FF;
}
</style>
</head>
<body>
<h1>PSD-Tutorials.de</h1>
<p>dein Grafik-, Web- & Fotoportal</p>
</body>
</html>

I browseren ser dokumentet sådan ud:

HTML & CSS for begyndere (Del 25): Dette er CSS.



I HTML-filens body-område er der defineret to elementer:

• en overskrift

• en tekstafsnit

Gennem CSS bliver disse to elementer formateret. Dertil defineres i head-området et stylesheet-område ved hjælp af style. Inden for dette område foregår formateringen af elementerne.

Her er definitionen for overskriften h1 igen:

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



Den viste syntaks fastlægger to ting:

• Skrifttypen bestemmes.

• Skriftstørrelsen defineres.

På dette tidspunkt skal det først og fremmest handle om den anvendte syntaks generelt. Enhver CSS-anvisning består grundlæggende af to dele - en selector og en CSS-deklaration. Gennem selektoren fastlægges det element, der skal formateres. Hvordan formateringen til sidst ser ud, bestemmer CSS-deklarationen. Selektoren står altid til venstre, CSS-deklarationen til højre i krøllede parenteser.

Selv CSS-deklarationen består af to elementer, nemlig egenskaben og værdien. Egenskab og værdi adskilles af et kolon. Efter værdien følger et semikolon.

Selektor {
 Egenskab: Værdi;
 }

Integrer stylesheets

Der findes mange forskellige måder at integrere stylesheets på hjemmesider. Først og fremmest kan du tildele stile direkte til et HTML-tag. Et eksempel:

<h1 style="color: #0033CC;">PSD-Tutorials.de</h1>



I dette eksempel vises overskriften i blå farve.

HTML & CSS for begyndere (del 25): Det er CSS.

Du kan også tilføje flere stile til et HTML-tag på én gang.

<h1 style="color: #0033CC; background-color: #99FF66">PSD-Tutorials.de</h1>



Skriv dem simpelthen efter hinanden, adskil dem med et semikolon.

HTML & CSS for begyndere (Del 25): Dette er CSS



Generelt er disse såkaldte inline-stile kun fornuftige, hvis individuelle områder på en side skal formateres individuelt. Normalt bør du dog undgå denne type direkte formatering, da HTML-koden derved bliver uoverskuelig.

Central definition i head-området

Du kan definere et centralt stylesheet inden for head-området i HTML-filen. Her defineres alle stilarter, der skal gælde for denne fil.

<head>
 <style type="text/css">
 .text {
    font-family: "Courier New", Courier, monospace;
    font-size: 200%;
 }
 </style>
 </head>



Fordele ved denne metode: I modsætning til inline-metoden kan de definerede formater bruges flere gange i dokumentet. I det foregående eksempel blev CSS-klassen text defineret. (Yderligere oplysninger om selektorer som den her anvendte klasse vil blive givet i næste vejledning). Denne klasse kan nu bruges vilkårligt mange gange i dokumentet.

<h1 class="text">PSD-Tutorials.de</h1>
<p class="text">dein Grafik-, Web- & Fotoportal</p>



En sådan definition har selvfølgelig også den fordel i forhold til inline-metoden, at ændringer kan foretages meget hurtigt.

HTML & CSS for begyndere (Del 25): Det er CSS

Udliciter CSS-anvisninger

Den mest praktiske metode til CSS-definition er at udlicitere stilerne til en ekstern fil. Derved kan et vilkårligt antal HTML-filer tilgå den samme CSS-fil. Dette gør det let at opnå en ensartet formatering af alle filer, der hører til webprojektet. Senere ændringer, der skal gælde for alle sider, kan dermed udføres problemfrit.

<link rel="stylesheet" type="text/css" href="css/styles.css">



I HTML-filens hoved indsættes link-elementet. Inden for link angiver man først attributværdi-kombinationen rel="stylesheet". Derefter følger type="text/css". href-attributtet tildeles den pågældende CSS-fil. Vær opmærksom her - ligesom ved indlejring af billeder - på den korrekte sti. I det aktuelle eksempel antages det, at CSS-filen styles.css er i mappen css, som igen er på samme niveau som selve HTML-filen.

Den refererede CSS-fil er en normal tekstfil med filtypen css. De tilhørende CSS-anvisninger defineres i den eksterne CSS-fil.

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



Alternativ til den viste link-variant kan stylesheets også importeres. Her er CSS-instruktionerne placeret i en ekstern fil. Syntaxen er som følger:

<style type="text/css">
   @import url("css/styles.css");
</style>



Inden for parenteserne angives stien til den css-fil, der skal importeres. @import er i øvrigt en del af CSS-syntaksen, så @import-instruktionen kan også bruges inden for CSS-filer. Dette gør det muligt at kalde andre stylesheets fra et stylesheet, hvilket muliggør en bedre organisation af stylesheets.

Naturligvis melder spørgsmålet sig, om man skal bruge link eller @import. Generelt foretrækker jeg link, da denne metode er hurtigere, hvilket resulterer i en bedre ydeevne på siden.

Mediespecifikke stylesheets

Man kan definere stylesheets til forskellige medier som f.eks. printere eller skærme. Dette gøres ved hjælp af media-attributtet. Du kan også tildele et stylesheet til flere medier adskilt af kommaer.

<link rel="stylesheet" media="screen" href="css/styles.css">
<link rel="stylesheet" media="print " href="css/druck.css">



I dette tilfælde blev der kaldt to stylesheets, et til skærmen og et til udskrift. CSS-filen druck.css indlæses derfor, når browserens udskriftsfunktion kaldes. Overordnet set er følgende media-værdier tilgængelige:

all – gælder for alle outputmedier.

aural – CSS-filen bruges til lydoutputsystemer.

braille – CSS-filen er designet til punktskriftprintere med taktile feedback, der kan generere såkaldt "blindskrift".

embossed – Braille-siderprintere adresseres hermed.

handheld – Designet til håndholdte enheder.

print – CSS-filen gælder for print på papir. Browserne bør automatisk henvise til denne fil, når udskriftsfunktionen kaldes.

projection – Denne variant er designet til projicerede præsentationer.

screen – Designet til skærmvisning.

tty – CSS-filen er designet til medier, der bruger en fast tegngitterstruktur. Dette kan f.eks. være teleskrivere og terminaler.

tv – Disse er designet til tv-lignende enheder. Det antages, at enhederne har en lav opløsning og kun er begrænset scrollbar.

Ud over den viste HTML-syntaks ved hjælp af link-elementet er der også specielle CSS-varianter. Her bruges @import eller @media.

<style type="text/css">
   @media screen, projection {
     /* Formater for skærm */
   }
   @media print {
     /* Formater for udskrift */
   }
</style>
   



Inden for style-elementet defineres i @media et område for formateringer, der er beregnet til et specifikt outputmedium. Efter @media skal en af de allerede beskrevne mediatyper angives adskilt af mellemrum. Flere mediatyper skal adskilles af kommaer.