
Vyšší tlačítko ve Firefoxu
Prohlížeč Firefox má zajímavou vlastnost u formulářových tlačítek. Dělá je vyšší než ostatní prohlížeče.
Obecně není v CSS dobrým zvykem nastavovat elementům výšku. Jedinou výjimkou jsou zaručeně jednořádkové prvky – třeba formulářová tlačítka:
Nastavit výšku je obecně ideální přes line-height, protože to rovnou zajistí svislé vycentrování textu.
Odstavec s nastavenou výškou 70 px
Firefox však ze záhadných důvodů i při vynulování borderu a paddingu zobrazí větší tlačítko, než by měl:

Selektor ::moz-focus-inner
Řešení je použít CSS selektor ::moz-focus-inner, který slouží k znázornění focusovaného tlačítka. Bohužel ho ale zvětšuje. Vypnout zvětšování jde vynulováním rámečku:
button::-moz-focus-inner {
border: 0;
}
V případě používání tlačítek vytvořených značkou <input> je universální zápis:
button::-moz-focus-inner,
input[type=button]::-moz-focus-inner,
input[type=submit]::-moz-focus-inner,
input[type=reset]::-moz-focus-inner {
border: 0;
}
- Živá ukázka – vyšší tlačítko ve Firefoxu
Zvýraznění zaměřeného políčka je potom vhodné provést vlastnoručně pomocí outline:
button:focus {outline: 1px dotted}
height místo line-height
Jiné řešení je nastavovat pro tlačítka height. V takovém případě by měla být výška dle zadání bez nutnosti resetovat ::-moz-focus-inner:
- Živá ukázka – srovnání velikosti tlačítek s
height
Odkazy jinam
- CSS Tricks: button padding issue
- David Walsh: Firefox Button Height Fix
- StackOverflow: Why is Firefox button larger?
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.