Cascading Style Sheets (CSS; gjennomgående stilark) er et språk som brukes til å definere utseende på filer skrevet iHTML ellerXML. Prinsippet er at HTML- eller XML-dokumentet utelukkende skal beskrive struktur ogsemantikk, mens oppsett, farger og annen stilinformasjon skal beskrives ved hjelp av CSS. Stilinformasjonen kan integreres i selve dokumentet eller skilles ut som en egen fil med endelsen .css. Et ubegrenset antall dokumenter kan peke til og styres av samme .css-fil, noe som er styrken i CSS: Ved å endre på en fil, kan man endre fargebruk, bakgrunnsbilder osv. i alle dokumenter som peker til CSS-filen.
Eksempel:
body{background-color:#ff0000;color:#ffffff;}
Her setter man bakgrunnsfargen til rød ved hjelp av background-color og HEX-koden #ff0000 samt tekstfargen til hvit.
Den første versjonen av CSS ble lagt fram avHåkon Wium Lie i 1994. Han videreutviklet siden språket sammen medBert Bos, og i dag er detW3CsCSS Working Group, hvor Lie og Bos begge er medlemmer, som oppdaterer CSS-spesifikasjonen.
Med versjon 2 av CSS kom medietyper (media types) inn i spesifikasjonen. Medietyper gjør det mulig å definere ulik stil for det samme dokumentet avhengig av hvor og hvordan det blir brukt. For eksempel brukes medietypen "screen" for vanlig pc-nettleservisning, mens "handheld" er for mobiltelefoner og andre mindre skjermer, "print" for utskrift og "projection" for visning på storskjerm.
CSS-rammeverk er forberedte biblioteker som er ment for å tillate enklere, mer standardkompatibel styling av websider ved bruk av språket Cascading Style Sheets. CSS-rammeverk inkluderer Blueprint, Bootstrap, Cascade Framework, Foundation og Materialize. I likhet med programmerings- og skriptspråkbiblioteker er CSS-rammeverk vanligvis innlemmet som eksterne .css-ark referert til i HTML <head>. De gir en rekke ferdige alternativer for å designe og legge ut websiden. Selv om mange av disse rammene er publisert, bruker noen forfattere dem for det meste for rask prototyping, eller for å lære av, og foretrekker å 'håndverke' CSS som passer til hvert publisert nettsted uten design, vedlikehold og nedlastingskostnader for å ha mange ubrukte funksjoner i nettstedets styling[1].
Når størrelsen på CSS-ressurser som brukes i et prosjekt øker, må et utviklingsteam ofte bestemme seg for en felles designmetodikk for å holde dem organisert. Målene er enkel utvikling, enkel samarbeid under utvikling og ytelse av de distribuerte stilarkene i nettleseren. Populære metoder inkluderer OOCSS (objektorientert CSS), ACSS (atomisk CSS), oCSS (organisk kaskadestilark), SMACSS (skalerbar og modulær arkitektur for CSS) og BEM (blokk, element, modifikator)[2].