Moderní tvorba webových aplikací
O webu

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.

3 minuty

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:

  • <button>
  • <input type="submit">
  • <input type="button">
  • <input type="reset">

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:

Vyšší tlačítko ve Firefoxu

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;
}

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:

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