{%hackmd anYwyN--TziyASUWcqP-Gw %} # Třídy --- # Problém: jak odlišit elementy ```html <p>A víte, že…?</p> <p>Ještě jeden odstavec</p> ``` ```css p { color: blue; } ``` note: * Co kdybych chtěl vypsat odstavce modře? * Ale co kdybych chtěl udělat jen první odstavec modrý? --- # Řešení: jak odlišit elementy ```html <p class="uvodnik">A víte, že…?</p> <p>Ještě jeden odstavec</p> ``` <!-- .element: class="c-text-md" contenteditable="true" --> ```css .uvodnik { color: blue; } ``` note: * řešením je přidat třídu, která umožňuje se zaměřit v CSS přesněji * třída se v HTML přidává jako atribut `class` * v CSS se zapíše **s tečkou** na začátku (tím se odliší od názvu prvku). * třídu můžeme přiřadit libovolnému počtu značek --- # Třída platí pro více elementů ```html <h1 class="uvodnik">Tip</h1> <p class="uvodnik">A víte, že…?</p> <p>Ještě jeden odstavec</p> ``` ```css .uvodnik { color: blue; } ``` note: * třída se tedy použije pokud má nějaký prvek speciální vlastnosti * nebo se skupina vlastností opakuje a chceme si tak ušetřit zápis * třída není ničím jiným než dalším atributem * zatímco `alt`, `src`, `href` lze přidat jen některým značkám, atribut `class` lze přidat kterékoliv značce --- # Vícenásobné třídy ```css .tip { color: blue; } .cool { background-color: red; } ``` ```html <p class="tip">…</p> <p class="cool">…</p> <p class="cool tip">…</p> ``` note: * jeden atribut `class` může mít přiřazeno více hodnot ‒ tříd * oddělujeme je mezerou --- # Pokročilé selektory --- # Vícenásobný selektor ```css .tip, h2 { color: green; } ``` note: * obarví prvky s třídou .tip a nadpisy 2. úrovně na zeleno * každý selektor na nový řádek, aneb za čárkou odřádkovat --- # Kontextový selektor ```css .tip h2 { color: blue; } ``` note: * obarví nadpisy 2. úrovně na modro, pokud jsou v prvku s třídou `.tip` * odpovídá zanořování v HTML * tady má mezera význam (jinde na nich tolik nezáleží) --- # Na pořadí záleží <pre class="c-text-md fragment" contenteditable data-fragment-index="10"><code class="stretch lang-css" data-noescape><span class="fragment ">p { color: red; background-color: pink; }</span> <span class="fragment">p { color: green; }</span></code></pre> note: * platí poslední nastavená hodnota vlastnosti * často se stane, že zadáte znovu tutéž vlastnost. Když dbáte na úpravu 1 pravidlo na řádek, snáz to odhalíte. (Jsou i automatizované nástroje, které to hlídají za nás.) ---
{"metaMigratedAt":"2023-06-15T22:04:01.554Z","metaMigratedFrom":"YAML","title":"Třídy v HTML a CSS | Tvořím web A–Z","breaks":true,"lang":"cs","slideOptions":"{\"transition\":\"none\",\"theme\":\"night\",\"margin\":0.05,\"minScale\":0.1,\"maxScale\":5,\"width\":1900,\"height\":1080}","contributors":"[{\"id\":\"772328be-33fa-4edc-bac0-7a7903521fb4\",\"add\":3450,\"del\":764}]"}
    235 views