Till startsidan för Jonas Webresurs

Vad innehåller specifikationen?

Obs!
Alla exempel öppnas i ett nytt fönster!

1. Inledning

Den här sidan är tänkt som ett stöd för alla som tänker läsa CSS2-specifikationen, för att på så sätt fördjupa sina kunskaper om stylesheets. Jag går först igenom några allmänna saker om specifikationen och sedan ger jag en översiktlig bild av vad man hittar i de olika kapitlen.

Specifikationen skall man läsa om man tänker arbeta intensivt med stilmallar. Den är ganska svår till en början, men efter hand kommer man in i texten. Då är den ovärderlig. I den hittar man både regler för hur man skall skriva och tips på vad man kan göra.

Du hittar speicifikationen under adressen: www.w3.org/TR/REC-CSS2

2. Vad är CSS2?

Stylesheets används oftast för att ge typografisk kontroll av ett HTML-dokument. Just typografi är nämligen något som är svårt att styra i den vanliga HTML-koden. Stilmallar ger en extra dimension åt hemsidor. Med CSS2 kan man dessutom styra fler detaljer och man kan också anpassa sina sidor för olika media - åtminstone i teorin.

För trots att det länge funnits tydliga riktlinjer för stylesheets fungerar de fortfarande (januari 2001) ganska dåligt. Webbläsarna klarar inte av att tolka koden korrekt och visar inte de styrningar av stilen som man avsett. Detta gör arbetet med stilmallar arbetsamt och tidskrävande.

Mina erfarenheter av stilmallar sträcker sig tillbaka till hösten 1997. Då lade jag in stilmallar på en sida och upptäckte att det inte fungerade i någon webbläsare. Två år senare försökte jag igen, med bättre resultat. Sedan dess har jag prövat mig fram och skall försöka lära ut mina kunskaper. På så sätt hoppas jag att ni slipper åtminstone några av de problem man stöter på när man försöker använda stilmallsfunktionerna.

Den första standarden för stilmallar, CSS1, antogs av the World Wide Web Consortium redan den 17 december 1996. Den andra standarden, CSS2, som också är den sista, accepterades i maj 1998.

Vad skiljer då CSS2 från den första versionen? I Appendix B i CSS2-specifikationen hittar man en lång lista på nya funktioner. Här har jag tagit med några av de viktigaste:

- Bättre möjligheter att styra en sida för olika media, t.ex för visning på vanliga bildskärmar, på skärmar för handdatorer, vid utskrifter, ihop med blindskriftsläsare och talsynthesizers, osv.

- Mer logiska principer för ärvning av olika egenskaper i stilmallen. (Detta tar jag upp på en särskild sida.)

- Stöd för nationella avvikelser, t.ex hur man skriver citationstecken och frågetecken i olika skriftspråk.

- Fler möjligheter att påverka teckensnittens utseende, t.ex genom kerning och knipning.

- Stöd för för tabellfunktionerna i HTML 4.0.

- Möjligheter att placera (=positionera) text och bilder var som helst på sidan och i flera lager.

- Bättre texthantering för DIV- och SPAN-elementen.

- Bättre kontroll över vad som händer när ett innehåll inte får plats i en tabellcell eller liknande box

- Fler möjligheter att styra olika bredd- och höjdvärden.

- Förbättrade sätt att identifiera objekt och klasser på.

- Bättre stöd för skuggor och andra effekter.

- Fler pseudo-element och pseudo-klasser.

- Möjligheter att styra muspekarens utseende.

Mycket av detta kommer jag att gå mer noggrant igenom på de kommande sidorna.

3. Specifikationens kapitel

Specifikationen är uppdelad i 19 olika kapitel och 8 appendix eller bilagor. Nedan följer en lista över de olika kapitlen och vad de innehåller. Det jag skriver är till för att du skall ha lättare för att komma igång med texten i specifikationen. Jag säger också något om de olika kapitlens vikt och vad man eventuellt kan hoppa över.

Det du kan läsa om på mina sidor är sådant jag tycker är viktigt. Jag har därför utgått från min synvinkel och gjort en bedömning därefter. Delar du mitt synsätt behöver du egentligen inte läsa specifikationen alls. Då kan du se texten härunder som en information om hur specifikationen är uppbyggd.

Kapitel 1: About the CSS2 Specification
Detta kapitel beskriver hur specifikationen är organiserad och hur man skall läsa den. Beskrivningarna är emellertid inte särskilt lätta att förstå, eftersom man använder ett svårt språk och en svårbegriplig syntax. Den senare finns där för att visa hur stilmallskoden för de olika alternativen ser ut.

Kapitel 2: Introduction to CSS2
Här får man en allmän introduktion till stylesheets, både hur man skriver i HTML och i det lite mer komplicerade språket XML. CSS2 stöder nämligen även XML. Kapitlet är ganska kort och säger egentligen inte så mycket om hur det hela fungerar.

Kapitel 3: Conformance: Requirements and Recommendations
Kapitlet definierar innebörden för de viktigaste termerna i den fortsatta texten, t.ex vad som menas med "element", "innehåll" och "ärvning". Detta kapitel behöver man då och då gå tillbaka till när man läser de fortsatta kapitlen. Däremot säger det inte så mycket innan man har hunnit börja.

Kapitel 4: CSS2 syntax and basic data types
Detta avsnitt berättar ingående om stilmallskodens syntax, alltså vilka skrivregler man måste följa för att skriva en korrekt stilmallskod. Även detta kapitel är ganska svårt för den som inte är van vid att läsa W3Cs något kryptiska formuleringar. Man kan hoppa över dessa sidor och i stället läsa mina första två sidor, dels introduktionen och dels texten om selektorer.

Kapitel 5: Selectors
Den här sidan handlar om just det jag skrev på min egen sida om selektorer. Här går man igenom ännu fler detaljer hur man identifierar de objekt i HTML-koden som stilmallskommandona skall styra. Beskrivningen av hur identifieringen går till kommer alltså före bestämningen av vilka objekten är.

Kapitel 6: Assigning property values, Cascading, and Inheritance
Handlar om just det som rubriken säger, nämligen information om hur webbläsarna beräknar ärvning, olika stilkommandons vikt i förhållande till varandra, och liknande. Här får man också veta hur man tillskriver olika objekt olika egenskaper.

Kapitel 7: Media types
Det här kapitlet tar upp frågan hur man m.h.a stylesheets anpasar ett dokument för olika media. Med media menas här t.ex olika webbläsare och bildskärmsstorlekar för såväl vanliga datorer, som handdatorer, blindskriftsläsare, samt utskrifter på papper. Kapitlet är intressant, men fungerar dåligt i praktiken. Det är också ganska svårt att hitta normala användningar av det som sägs. Man behöver därför inte läsa detta kapitel särskilt noga, tycker jag.

Kapitel 8: Box model
Nu börjar beskrivningarna av hur man identifierar olika objekt i dokumentet. Med "box" menas alla definierade ytor, t.ex en tabellcell eller en text i P, DIV eller B. Boxar är något jag kommer att gå igenom mycket noga på mina sidor och jag har då försökt att förtydliga flera av de exempel som W3C använder. Jag tycker nämligen inte att deras förklaringar alltid är så pedagogiska. Men här hittar man givetvis ändå mer information än jag ger, eftersom jag har valt ut det jag tycker är viktigast.

Kapitel 9: Visual formatting model
Detta är specifikationens kanske tyngsta kapitel, med 35 sidor om olika funktioner för att identifiera olika textobjekt och hur man formger dem. Även detta kapitel har jag analyserat ganska noga och tar upp på flera av mina sidor.

Kapitel 10: Visual formatting model details
Som rubriken antyder beskriver detta kapitel några detaljer ur det föregående kapitlet. Här finns bl.a mycket information om positionering, som man bör ha klart för sig. Observera alltså att identifieringen av objekten är klar och att detaljstyrning och felsökning nu kommer upp på agendan.

Kapitel 11: Visual effects
Här tas de funktioner upp som finns för att förebygga olika sorters fel, t.ex att en text inte får plats i en tabellcell. Kapitlet kompletterar på olika sätt de tidigare två avsnitten i specifikationen. Jag skriver ganska ingående även om detta kapitel.

Kapitel 12: Generated content, automatic numbering, and lists
Detta specialkapitel handlar om listor och hur man styr olika slags specialtecken, t.ex siffror, citationstecken och listtecken. Också denna sida går jag igenom ganska noggrant.

Kapitel 13: Paged media
Med "paged media" menas sådana dokument som är uppdelade på flera sidor i stället för att löpa i en följd. Sådana uppdelningar vill man t.ex göra för att skapa snyggare utskrifter, med sidhuvud (t.ex en logotyp) och sidfot (sidnumrering). Problemet med kapitlet är att exemplen, tack vare webbläsarnas begränsningar, inte går att omsätta i praktiken. Jag har därför inte bestämt mig för om jag skall ta upp det som står där eller inte.

Kapitel 14: Colors and Backgrounds
När objekten på sidan blivit identifierade och alla fel är avhjälpta, är det dags att läsa om hur man lägger in färger och bakgrundsbilder. Här finns mycket matnyttigt och jag kommer att berätta i detalj hur de olika kommandona fungerar.

Kapitel 15: Fonts
Kapitlet har en av de kortaste rubrikerna men är det klart längsta kapitlet. På hela 40 sidor berättas om hur man styr teckensnittens storlek och utseende. Jag kommer att ta upp det viktigaste i detta kapitel, men man kan med fördel läsa det för att få större kunskaper om hur man anpassar ett dokument för olika språk och operativsystem.

Kapitel 16: Text
Texten handlar om hur man styr textflödet på sidan. Här berättas också om justering och effekter. Jag berättar en hel del av det som står på mina kommande sidor.

Kapitel 17: Tables
Rubriken talar för sig själv. Här tas allt om tabeller upp, men mycket av det som sägs handlar om tabeller i HTML 4.0, som inte alla webbläsare bryr sig om. När jag berättar om det som står i detta kapitel kommer jag att lämna en hel del av innehållet outforskat. Den som är genuint intresserad av tabellhanteringen bör alltså sätta sig in i texten på egen hand.

Kapitel 18: User Interface
Muspekarens utseende kan man påverka och här får man reda på hur man bär sig åt. Dessutom handlar texten om hur man styr webbläsarens grundinställningar för knappar och reglage. Ett specialkapitel som jag kommer att säga bara lite om.

Kapitel 19: Aural style sheets
Även detta kapitel är speciellt, eftersom det handlar om hur man kodar stilmallar för webbläsare för blinda, alltså sådana som använder blindskrift eller röstsynthesizer. Jag kommer inte alls att säga något om detta kapitel, framförallt eftersom jag inte har någon möjlighet att kontrollera att stilmallskommandona fungerar.

Ja, det var allt som finns i de olika kapitlen. Sedan finns det ett antal appendix, men dem får var och en titta i själv. Där hittar man bl.a ett index med alla specialord och sidhänvisningar till de ställen i specifikationen där de förklaras.


Den här sidan är en del av Jonas Webresurs - www.jonasweb.nu - copyright © 1998-2011