Om CSS

Vad är CSS?

Kort sagt är CSS utseendet av en webbsida. CSS ger liv till en webbsida genom färg, form och i viss utsträckning layout (även om layouting ibland kräver ändring av HTML). CSS står för Cascading Style Cheet och är även känt som stilmall på svenska. Genom att justera webbsidans CSS kan egenskaper som typsnitt, färg, storlek och position för element i webbsidans förändras i utseende. Ytterligare kan CSS styra hur HTML renderas/visas på paper eller i annan media.

Varför finns CSS?

Som vi tidigare varit inne på så finns CSS för att kunna förbättra den grafiska designen av en webbsida. Utan CSS kan webbsidor bli ganska otilltalande, speciellt för komersiella företag som försöker sälja till kunder där webbsidan blir en del av en potentiell kunds intryck av företaget. När HTML mest användes för vetenskapliga rapportet, teknisk dokumentation och dylikt var CSS inte lika viktigt men på dagens World Wide Web är det svårt att föreställa sig en värld utan CSS.

Hur använder vi oss av CSS?

Det finns flera olika sätt att används CSS på:

Inline styling gör det möjligt att genom HTML-attributet style justera CSS-egenskaper för ett element. Det går även att använda en intern stilmall där CSS-selektorer och -egenskaper används för att justera egenskaper för element antigen direkt eller genom klasser och id som appliceras som attribut i HTML-elementen. Önskar en som utvecklare att följa principen om "separation of concerns" som inom webbutveckling lite förenklat kan beskrivas som att en separerar HTML, JavaScript och CSS till egna filer så går det att använda externa stilmallar. För att nyttja sig av detta skapar utvecklaren en egen <namn>.css-fil. Därefter "länkar" utvecklaren till css-filen genom ett link-element nästlat i head-elementet av HTML-dokumentet. Exempel på hur det skulle kunna se ut följer: <link rel="stylesheet" href="styles.css" type="text/css">.

Det finns olika versioner av CSS

Vilka versioner finns det?

Källa för CSS-versioner: HTML och CSS-boken av Rolf Staflin (andra tryckningen av sjunde omarbetade upplaga) om inget annat nämns.

CSS nivå 1 utgjorde grunden för CSS, sedan byggde CSS nivå 2 vidare på nivå 1 genom att introducera "stöd för olika mediumtyper, nedladdningsbara teckensnitt, utplacering av element och tabeller" (HTML och CSS-boken). CSS version 2.1 byggde i sin tur vidare på CSS nivå 2 med lite nya funktioner och rättningar. Därpå började arbetet på CSS3 som senare kom att bli känt som bara CSS. Nu finns det istället olika moduler inom CSS som får olika nivåer ("levels" på engelska) som motsvarar en version för just den modulen.

Varför finns det olika versioner? (Varför är det inte bara en?)

Varför kan en bok ha mer än en utgåva/upplaga, räcker det inte med en? Poängen med min motfråga är att understryka vikten av förändring för att spegla samtidens utveckling. Får en bok inte några nya upplagor (speciellt utbildande litteratur) riskerar den att bli inaktuell. På samma vis kräver CSS-specifikationen förändringar för att hålla sig aktuell. Genom nya versioner av CSS tillåts tekniken utvecklas och fortsätta vara ett kraftfullt verktyg inom webbutveckling även för framtidens webbutveckling.

Varför är det viktigt att veta vilken version som en viss CSS-egenskap tillhör? (Kan detta påverka webbplatsen?)

För att utvecklaren ska kunna få webbsidan att se enhetlig ut över olika webbläsare (och versioner av webbläsare). Detta var i stor utsträckning viktigare förr i tiden då webbläsare hade större skillnader och avvikelser från såväl HTML- som CSS-specifikationen. Värt att notera är att olika webbläsare är olika snabba i utvecklingen av att följa CSS-specifikationen, varför det fortfarande är relevant att använda verktyg som caniuse.com för att kontrollera att de största webbläsarna har stöd för en egenskap man vill använda. Saknas stödet ökar risken att utseendet besökarna möts av avviker från utseendet i utvecklarens miljö, vilket leder till dålig användarupplevelse.