Lekce 10 - Seznamy v CSS3
V minulé lekci, Text a písmo - Sloupce, tabulátory, odsazení, zalamování, jsme si ukázali jak členit text do sloupců, nastavit velikost tabulátoru, odsadit řádek a zalamovat text.
Vítejte u další lekce ohledně nastavení v CSS3, ve které si ukážeme, jak nastavit vlastní vzhledy seznamů a jak pracovat s jejich vlastnostmi. V této lekci si uděláme základ navigační lišty:
Vlastnost list-style
Pomocí CSS3 vlastnosti list-style
nastavujeme styl odrážek
seznamů. Vlastnost je shrnující a umožňuje nastavit 3 vlastnosti odrážek
a to typ, pozici a
obrázek.
Syntaxe CSS3 vlastnosti list-style
je následující:
list-style: typ pozice obrázek;
Pro každou složku odrážek existuje zvlášť CSS vlastnost, která ji nastavuje. Jsou to:
list-style-type
- Nastavení typu odrážeklist-style-position
- Nastavení pozice odrážeklist-style-image
- Nastavení obrázku odrážek
Jako hodnotu můžeme uvést i inherit
, tím zdědíme vlastnost
list-style
od rodičovského elementu. Vytvoříme si tedy v našem
HTML dokumentu nový list pomocí <ul>
a
<li>
tagů:
<ul> <li><a href="uvod">Úvod</a></li> <li><a href="clanky">Články</a></li> <li><a href="o-nas">O nás</a></li> <li><a href="kontakt">Kontakt</a></li> <li><a href="pobocky">Pobočky</a></li> </ul>
Vzhled odrážek seznamu
Nyní můžeme náš seznam upravit pomocí CSS. Nejdřív se podíváme na
přednastavené typy, které lze jednoduše použít. Pokud bychom chtěli
nastavit pouze typ, použijeme vlastnost list-style-type
. Vybírat
vzhled můžeme z následující tabulky:
disc
- (výchozí) - Vyplněný kruhnone
- Bez odrážekcircle
- Kruhovésquare
- Čtvercovédecimal
- Číslovanédecimal-leading-zero
- Číslované na 2 místa (před čísla menší než 10 přidá nulu)lower-alpha
- Malá písmena latinské abecedylower-greek
- Malá písmena řecké abecedylower-latin
- Malá písmena latinské abecedylower-roman
- Římské číslice malými písmenyupper-alpha
- Velká písmena latinské abecedyupper-greek
- Velká písmena řecké abecedyupper-latin
- Velká písmena latinské abecedyupper-roman
- Římské číslice velkými písmenyarmenian
- Armenské číslicecjk-ideographic
- ideografické číslicegeorgian
- gregoriánské číslicehebrew
- Hebrejské čísliceinherit
- Zdědí typ odrážek od rodičovského elementu
Pro všechny elementy s tagem ul
nastavíme tedy místo teček
třeba čísla:
ul { list-style-type: decimal; }
Výstup:
Nebo můžeme použít například velké římské číslice:
ul { list-style-type: upper-roman; }
Pokud se nám nelíbí žádné z přednastavených možností, můžeme
použít vlastnost list-style-image
, která nám dovoluje nastavit
místo odrážky vlastní obrázek. Zde jsou jednotlivé hodnoty, které
můžeme u této vlastnosti nastavit:
url('url obrázku')
- URL obrázku s odrážkou.none
(výchozí) - Odrážky nemají obrázek a vykreslují se podle vlastnostilist-style-type
.inherit
- Obrázek odrážek se zdědí z rodičovského elementu.
Přenastavíme tedy náš CSS soubor tak, aby místo čísel byly malé šipky:
ul { list-style-image: url('arrow.png'); }
Výstup v prohlížeči:
Samozřejmě nesmíme zapomenout na to, že při použití obrázku bude mít
obrázek svoji originální velikost. Je proto lepší používat obrázky s
velikostí odpovídající výšce prvků v seznamu. V našem případě tedy
jen asi 6x6
pixelů. Ikonky na stránce se většinou vkládají
přes styl písma (font) a do HTML elementu se poté vkládá pouze třída.
Takové písmo je např. Font-Awesome. Vhodné je dobré využívat také
škálovatelnou grafiku, mám tím na mysli formát SVG. Rozebírat tuto
problematiku dopodrobna však v této lekci nebudeme.
Pozice seznamu
Poslední vlastnost kterou můžeme nastavit odrážkám v seznamu je jejich
pozice. Pro lepší přehlednost nejprve nastavíme všem našim prvkům
(li
) v seznamu okraj, vnitřní odsazení (padding
) a
styl na odkaz (element <a>
):
li { border: 1px solid black; padding: .5rem; } a { text-decoration: none; color: #545454; }
Nyní přidáme k našemu seznamu vlastnost
list-style-position: outside;
:
ul { list-style-image: url('arrow.png'); list-style-position: outside; }
Jak můžeme vidět, odrážky jsou mimo okraje našich prvků. Nastavíme
tedy místo hodnoty outside
hodnotu inside
:
ul { list-style-image: url('arrow.png'); list-style-position: inside; }
A odrážky se nám nyní posunuly dovnitř okrajů našich prvků. Když
teď víme, jak se dělají seznamy, pojďme si udělat jednoduchou navigační
lištu pomocí seznamů. Z původního kódu odstraníme pouze okraje (vlastnost
border
) a vlastní obrázek (list-style-image
)
elementu <li>
. Dále elementy pouze seřadíme vedle sebe, to
uděláme vlastností display
na hodnotu inline
u
elementu <li>
:
li{ padding: .5rem; display: inline; }
A máme navigační lištu!
Nezapomeňte, že nastavujeme styly elementům <ul>
,
<li>
a <a>
! Styly se tedy projeví ve
všech seznamech a odkazech! Je vhodné tedy přiřadit seznamům třídy a
stylovat přímo je
Pokud něčemu nerozumíte, doporučujeme stáhnout si soubory v příloze k této lekci a vše si pořádně vyzkoušet
V další lekci, Vzhledy a nastavení tabulek v CSS3, si ukážeme, jak nastavit vlastní vzhled tabulky, jaké vytvořit okraje a jak pracovat s jejím obsahem.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 70x (2.04 kB)
Aplikace je včetně zdrojových kódů v jazyce CSS3