Moderní tvorba webových aplikací
O webu

CSS appearance

Systémový vzhled elementů pomocí CSS vlastnosti appearance.

3 minuty

Kromě neutrálních značek <div> a <span>, které se bez patřičného stylování zobrazují bez zvláštních stylů, existují elementy, které visuální podobu přebírají z operačního systému – typicky prvky formulářů.

Vlastností appearance jde tento vzhled přiřadit normálním HTML značkám. (Appearance znamená v angličtině vzhled.)

Symbolický zápis může vypadat následovně:

.jako-tlacitko {
  appearance: button; 
}

Po přiřazení této třídy pro běžný <div> vznikne něco jako <button>.

Text v „tlačítku“

Jedná se pouze o visuální změnu. Veškeré chování je jinak stejné jako u obyčejného elementu.

Podpora

Podpora chybí v Internet Exploreru / MS Edge a pro Chrome/Operu/Safari/Firefox je nutné použí CSS prefixy. Navíc se od sebe liší hodnoty pro -webkit- a -moz- prefix.

Možných hodnot existuje obrovské množství:

V praxi jakž takž rozumně fungují hodnoty nastavující tlačítko, checkbox a radio přepínač.

  • appearance: buttonTlačítko
  • appearance: checkbox –     checkbox
  • appearance: radio –     checkbox

appearance: none

Možná nejzajímavější hodnota vlastnosti appearance je none. Ta totiž dokáže vypnout výchozí vzhled formulářových prvků a umožnit jejich vlastní stylování.

input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

Výsledek může vypadat třeba takto:

Vzhledem k nespolehlivosti vlastnosti appearance je ale pořád osvědčenější postup používat atrapy pomocí značky <label>:

Odkazy jinam

Co si myslíte o tomto článku?

Diskuse

Související články

CSS item-pack: balance – vyvážené rozložení flex položek

Vlastnost item-pack: balance rozděluje flex položky rovnoměrně mezi řádky, podobně jako text-wrap: balance vyvažuje řádky textu.

11 minut

CSS Container Queries – responsivní komponenty

Jak pomocí @container, container-type a container-name vytvářet komponenty, které se přizpůsobí velikosti svého rodiče místo viewportu.

16 minut

CSS Anchor Positioning – posicování elementů relativně k jiným

Jak pomocí anchor-name, position-anchor a funkce anchor() posicovat elementy relativně k jiným bez JavaScriptu.

6 minut

Centrování na webových stránkách

Moderní způsoby vertikálního i horizontálního centrování v CSS. Flexbox, Grid, margin auto a další techniky.

8 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata · Zkratky
2013–2026