Kde jste: Doma » Blog » Příliš dlouhá textová políčka ve Firefoxu pod Ubuntu

Příliš dlouhá textová políčka ve Firefoxu pod Ubuntu

9. září, 2013

Popis problému

Ve Firefoxu pod operačním systémem Ubuntu mají některá textová políčka asi o polovinu větší délku než by měla mít. Potom je textové políčko nejen přiliš dlouhé, ale také často překrývá text článku, a návštěvník stránky aby potom hádal, co se pod tím políčkem skrývá.

Jde o textová políčka, jejichž velikost je buď stanovena atributem size="N", kde N je počtem znaků, nebo není stanovena vůbec, v kterémžto případě je použita výchozí hodnota 20. Netýká se to tedy políček, jejichž velkost je stanovena CSS styly.

Příčina problému

Jak už jsem napsal na stránce tohoto bugu v Bugzille, je to způsobeno dvěma věcmi:

  1. Firefox používá stejný přístup jako IE 9: Používá systémový font pro vstupní políčka, včetně velikosti fontu.
  2. Výchozí systémový font v Ubuntu je "Ubuntu" o velikosti 11pt. To je o 1 bod (nebo-li point či pt) více než je velikost výchozího systémového fontu ve Windows 7, kterým je 10pt velký "MS Shell Dlg". A hlavně, zdá se, že font "Ubuntu" má velmi širokou metriku, protože když je použitým fontem právě "Ubuntu", tak je to textové políčko o hodně delší, než by mělo být, a ta délka je přesně stejná i v Google Chrome.

Řešení problému

Pro webmastery

Můžete problém vyřešit dvěma způsoby:

  1. Vložte do stylopisu Vašeho webu následující styl:

    input { font: normal 10pt Arial, sans-serif; }

    Tím se zajistí, že se ve Vašem webu bude napříč operačními systémy používat pro vstupní políčka stejný font, a to ten samý, který pro ně defaultně používá Google Chrome.

  2. Nebo délku textových políček vždy nastavujte CSS styly, například atributem style="width: 100px".

Pro návštěvníky webů

Můžete si spravit Firefox sami následujícím postupem:

  1. Najděte svůj Firefoxový profil.
  2. Vytvořte v něm podsložku "chrome", pokud již neexistuje.
  3. Vytvořte v té složce "chrome" prázdný soubor "userContent.css".
  4. Přidejte do toho souboru následující řádek kódu:
    input { font: normal 10pt Arial, sans-serif; }
  5. Restartujte Firefox.
  6. Odteď bude Firefox stanovovat výchozí font vstupních polí stejně jako Google Chrome. Funguje to dobře i ve Windows.

Pro vývojáře fontu Ubuntu

Asi mají v metrikách toho fontu bug. Alespoň ve verzi toho fontu, která je v operačním systému Ubuntu 12.04 "Precise Pangolin".

Pro vývojáře Firefoxu

Myslím, že by bylo nejlepší, kdyby Firefox začal používat stejný přístup ke stanovování defaultního fontu vstupních polí, jako používá Google Chrome, protože:

  1. Google Chrome je nyní mnohem více rozšířen než Internet Explorer.
  2. Internet Explorer nemusí řešit tento problém rozbíjení layoutů v rozdílných operačních systémech, jelikož ho lidé normálně používají jen ve Windows.

Návštěvy:

TOPlist
NAVRCHOLU.cz