
CSS základy
Cílem následujícího cvičení je vyzkoušet si propojení HTML a CSS a základní selektory a vlastnosti. Použijte verzi XHTML1.1, pro účely předmětu používejte validátor konzorcia W3 - https://jigsaw.w3.org/css-validator/.
Pro interaktivní práci si stáhněte repozitář na svůj lokální počítač a soubory upravujte na něm. Na konci své práce výsledek nahrajte zpět do repozitáře.
Stažení:
git clone https://gitlab.wr.cz/bi-zwu/css.git bi-zwu-css
Nahrání zpět:
cd bi-zwu-css git add . git commit -m 'Update task' git push origin main
Stylesheet je sada pravidel. Tato pravidla určují vlastnosti (vzhled a chování)
jednotlivých elementů v dokumentu. To, kterých elementů se pravidlo týká určuje
selektor. V deklaraci pravidla (uzavřené do { }
) je pak jedena nebo více
dvojic: vlastnost:hodnota. Tyto dvojice se oddělují znakem ;
. Jednotlivá
pravidla se obvykle píší na samostatné řádky.
Propojení HTML a CSS
CSS je možné propojit s HTML několika způsoby:
- Odkázat se v hlavičce HTML na CSS soubor - doporučené
<link rel="stylesheet" type="text/css" href="style.css" title="cool">
- Vložit CSS do hlavičky HTML souboru (s odkazem na CSS nebo přímo)
<style type="text/css"> @import url("http://style.com/basic"); h1 { color: blue } </style>
- Zapsat jako atribut konkrétního elementu
<p style="color: red">Summary paragraph ...</p>
Linkování CSS z dokumentů (link)
- V hlavičce souboru
index.html
nalinkujte souborstyle.css
jako kaskádový styl. - V souboru
style.css
vytvořte 3 pravidla, která nastaví:- barvu (
color
) nadpisu na modrou, - zarovnání (
text-align
) odstavců do bloku, - velikost písma (
font-size
) položek seznamů na 75 %.
- barvu (
Řešení
index.html:
<head>
...
<link rel="stylesheet" type="text/css" href="style.css">
</head>
style.css:
h1 { color: blue; }
p { text-align: justify; }
li { font-size: 75%; }
Zahrnutí CSS do dokumentů (embed)
- Do hlavičky souboru
index.html
přidejte element typustyle
. - V zahrnutém stylu nastavte:
- barvu (
color
) nadpisu na červenou, - barvu (
color
) položek seznamů na šedou.
- barvu (
- Vyzkoušejte vliv pořadí elementů
link
astyle
na výsledek.
Řešení
index.html:
<head>
...
<style type="text/css">
h1 { color: red; }
li { color: gray; }
...
</head>
Vložení CSS do elementů (inline)
- Do těla souboru
index.html
přidejte k jednotlivým elementům atribut typustyle
. - Ve vložených atributech stylu nastavte:
- váhu písma (
font-weight
) prvního odstavce na tučný styl, - styl písma (
font-style
) prvního odstavce na kurzívu, - barvu písma (
color
) první položky seznamů na modrou.
- váhu písma (
- Analyzujte vliv vloženého stylu na výsledný vzhled.
Řešení
index.html:
<body>
...
<p style="font-weight: bold; font-style: italic">První odstavec ...</p>
...
<li style="color: blue">První položka ...</li>
...
</body>
Selektory CSS
V těchto úlohách se zaměříme pouze na základní CSS selektory pouze pro vyzkoušení základů.
Syntaxe | Popis |
---|---|
* | Univerzální |
E | Typ elementu |
E F | Potomek (libovolné úrovně) |
E > F | Přímý potomek |
E + F | Přímý sourozenec |
E:first-child | První potomek svého rodiče |
E:link | (Nenavštívený) odkaz (dynamicky) |
E:hover | Najetí kurzoru na element (dynamicky) |
E:lang(x) | Jazyk elementu |
E[atr="val"] | Hodnota atributu ( = ~= \|= ) |
E.class | Třída (class atribut) |
E#id | ID (id atribut) |
Pseudo-třídy
- Strukturální:
:first-child
- Odkazů:
:link
,:visited
- Dynamické:
:hover
,:active
,:focus
- Jazykové:
:lang
Pseudo-elementy
- Obsahu:
:first-line
,:first-letter
- Pozice:
:before
,:after
V dalších úlohách nastavujte styly pouze v externím CSS souboru
style.css
.
Dědění vlastností do potomků
- V souboru
style.css
nastavte:- velikost písma (
font-size
) celého dokumentu na 70 %, - velikost písma (
font-size
) všecho položek seznamů na 150 %.
- velikost písma (
- Zanalyzujte velikost písma jednotlivých elementů, především (vnořených) položek.
Řešení
style.css:
body { font-size: 0.7em; }
h1 { color: blue; }
p { text-align: justify; }
li { font-size: 150%; }
Relativní hodnota se odvozuje od vypočítané hodnoty rodiče.
Selektor potomků a třídy
V souboru style.css
nastavte velikost písma (font-size
) všech položek
seznamů tak, aby byly velikosti vzájemně stejné a to ve velikosti 150 %
velikosti písma dokumentu.
- Použijte selektor (přímého) potomka pro nastavení požadovaných vlastností.
- V souboru
index.html
přidejte položkám seznamu první úrovně atribut třídy (class="..."
) a ve stylu pak použijte selektor třídy. - Vyzkoušejte definovat velikost písma v jednotkách
rem
.
Selektor prvního potomka a sourozence
Pomocí selektoru potomka a přímého sourozence nastavte vzhled položek seznamu
tak, aby vypadaly jako v tabulce a měly nad/pod sebou horizontální čáru. Např.
první položka by měla čáru nad i pod sebou, ostatní pouze pod sebou. Využijte
přitom vlastnosti border-top
a border-bottom
s hodnotou thin solid silver
,
případně none
.
- Použijte selektor prvního potomka svého rodiče a všech potomků.
- Použijte selektor přímého sourozence a všech potomků rodiče.
Dynamický selektor pseudo-třídy
Nastavte vzhled toho prvku seznamu, nad kterým se nachází ukazatel myši.
- Nastavte barvu textu
color
na tmavě červenou. - Nastavte pozadí
background-color
na světle červenou. - Nastavte levé orámování
border-left
na silnou červenou plnou čáru. - Zkuste položky seznamu nastylovat tak, aby se při najetí myši nehýbaly.
Webová adresa stránky je https://bi-zwu.pages.wr.cz/css