Cascading Style Sheets eller CSS är uppställda så att du kan ha många egenskaper som alla påverkar samma element. Vissa av dessa egenskaper kan vara i konflikt med varandra. Du kan till exempel ställa in en teckensnittsfärg på rött på stycke-taggen och sedan ange en teckenfärg på blå. Hur känner webbläsaren vilken färg för att göra punkterna? Detta bestäms av kaskaden.
Typer av stilark
Det finns tre olika typer av stilark:
- Författars stilark
- Dessa är stilark skapade av författaren till webbsidan. De är vad de flesta tycker om när de tänker på CSS stilark.
- User Style Sheets
- Användarstilarket ställs in av användaren av webbsidan. Dessa tillåter användaren att ha mer kontroll över hur sidorna visas.
- User Agent Style Sheets
- Det här är stilar som webbläsaren gäller för sidan för att visa den sidan. I XHTML visas exempelvis de flesta visuella användaragenter taggen som kursiv text. Detta definieras i användaragentens stilark.
Egenskaper som definieras i vart och ett av ovanstående stilark har en vikt. Som standard har författarens stilark vikt, följt av användarstilarket och slutligen av användaragentens stilark. Det enda undantaget till detta är med den viktiga regeln i ett användarstilark. Detta har mer vikt än författarens stilark.
Cascading Order
För att lösa konflikter använder webbläsare följande sorteringsordning för att bestämma vilken stil som har företräde och kommer att användas:
- Först leta efter alla deklarationer som gäller för elementet i fråga och för den tilldelade medietypen.
- Kolla sedan på vilket stilark det kommer ifrån. Som ovan kommer författarstilarken först, då användaren, sedan användaragenten. Med! Viktiga användarstilar som har högre prioritet än författare! Viktiga stilar.
- Ju mer specifika en väljare är desto mer företräde kommer det att få. Till exempel kommer en stil på "div.co p" att ha en högre prioritet än en bara på "p" -taggen.
- Slutligen sortera reglerna enligt den ordning de definierades. Regler som definieras senare i dokumentträdet har högre prioritet än de som definierats tidigare. Och regler från ett importerat stilark beaktas före regler direkt i stilarket.