
CSS appearance
Systémový vzhled elementů pomocí CSS vlastnosti appearance.
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>.
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í:
- DevDocs:
-webkit-appearance - DevDocs:
-moz-appearance
V praxi jakž takž rozumně fungují hodnoty nastavující tlačítko, checkbox a radio přepínač.
appearance: button– Tlačítkoappearance: checkbox– checkboxappearance: 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
- CSS Tricks:
appearance
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.
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.
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.
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.