pokud nastavíme elementu vlastnost na konkrétní hodnotu, přejímají to i potomci tohoto elementu
např. nastavíme-li barvu textu v nadřazeném elementem na zelenou, tak i jeho potomci budou mít barvu zelenou, pokud neřeknou jinak
ne všechny vlastnosti se dědí
pokud vlastnosti dáme hodnotu inherit→ bude děděna z rodiče
pokud vlastnosti dáme hodnotu initial→ defaultní hodnota prohlížeče
vlastnost all řídí dědičnost všech vlastností a to i v potomku
Vlastnost all
<p>Stopařův průvodce Galaxií, jehož autorem je Angličan Douglas Adams, je prvním dílem stejnojmenné pentalogie označované jako <em>trilogie v pěti dílech</em>.</p>
/* vlastnost display není děděna */p { display: block; color: gold;}/* em zdědí všechny vlastnosti (a jejich nastavení) od svého rodiče */em {all: inherit;}
analogicky je možné použít klíčové slovo initial místo inherit
Kaskáda
jednotlivé elementy mohou být vybrány různými selektory
Kombinační operátory +, > a ~ nemají na výpočet specifičnosti vliv
Pořadí
pokud CSS pravidla mají stejnou specifičnost, rozhoduje o nastavení vlastnosti pořadí pravidel ve kterém je tato vlastnost uvedena → aplikují se později uvedené
Nastaví se vlastnost color na red
<div class="second first"></div>
.first {color: blue;}.second {color: red;}
rozhoduje i na úrovni deklaračního bloku
.second { color: red; color: blue;}
tento kód nastaví modrou barvu html elementu pojmenovaný class second
Důležitost
pravidla kaskády jdou obejít pomocí důležitosti
důležitá hodnota má přednost především
uvádíme !important
jakoby specifičnost byla 1 0 a b c
pokud více hodnot používá !important→ pravidlo kaskády
.title { color: gold !important;}
nepoužívat! (výjimka: lze použít pouze při práci s externími knihovnami)
Celý proces
Pokud není hodnota nastavena, je použita výchozí hodnota definovaná webovým prohlížečem.
Pokud je hodnota zděděna, přepisuje hodnotu nastavenou v bodu 1.
Pokud je hodnota explicitně nastavena, přepisuje hodnotu nastavenou v bodech 1 a 2.
Pokud dochází ke kolizi, rozhoduje kaskáda.
Pokud je hodnota nastavena v inline CSS, přepisuje hodnotu nastavenou v bodech 1–4.
Pokud je hodnotě nastavena důležitost, přepisuje hodnotu nastavenou v bodech 1–5.
Pokud uživatel použije vlastní hodnotu (vlastní sadu stylů), přepisuje tato hodnota hodnotu nastavenou v bodech 1–6.