Rembourrage supplémentaire dans & lt; input type = "text" & gt;

Il semble que chaque navigateur ajoute un peu de magie codé en dur rembourrage à l'intérieur de <input type="text">. Certains navigateurs (IE, Safari, Chrome) faire de la zone d'entrée un peu plus grand, mais ils correctement top aligner comme si elle était un élément HTML. Je peux vivre avec la hauteur supplémentaire. Mais certains navigateurs se conduisent mal (Firefox et Opera) et aussi essayer de les aligner verticalement le texte ou ajouter un peu de rembourrage supplémentaire au-dessus d'elle. Je suis surpris que les navigateurs modernes ne permettent pas à la disposition de zones de texte, comme si elles de la même manière que le HTML et ajouter un peu de magie de mise en forme. Suis-je en train de faire quelque chose de mal? Ai-je raté une astuce? Sont-ils certains de propriété des propriétés CSS qui pourrait m'aider? J'ai brièvement regardé Firefox CSS de la documentation, mais je ne pouvais pas trouver tout. Sinon, je pourrais utiliser modifiable HTML au lieu de <input type="text">.

Voici un extrait qui illustre le problème:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

    <title>Test</title>

    <style type="text/css">

        body, input {
            font-family: sans-serif;
            font-size: 16pt;
            color: White; }

        #textbox {
            position: absolute;
            left: 20px;
            top: 20px;
            width: 100px;
            background-color: #A5C9E2;
            line-height: 16pt;
            padding: 0px;
            margin: 0px;
            border-width: 0px; }

        #box {
            position: absolute;
            left: 120px;
            top: 20px;
            width: 100px;
            background-color: #AFD66A;
            line-height: 16pt; }

    </style>

</head>
<body>

    <input type="text" id="textbox" value="Hello">

    <div id="box">Hello</div>

</body>
</html>

Edit: j'ai expérimenté un peu avec -moz-outline et -moz-box-sizing dans Firefox (au cas où), mais aucun de leurs valeurs supprime le rembourrage supplémentaire.

source d'informationauteur Jan Zich