Zusätzlicher Platz unter dem Textbereich unterscheidet sich entlang der Browser

81

Unter dem Textarea-Tag ist etwas mehr Platz. 1 bis 4 Pixel in verschiedenen Browsern. Das Markup ist sehr einfach:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
    <head>
        <style>
            body {
                margin: 0;
                padding: 0;
            }
            .main {
                background-color: red;
            }
            textarea {
                background-color: gray;
                resize: none;
                margin: 0;
                border: 0 none;
                padding: 10px;
                height: 50px;
                overflow: hidden;
            }
        </style>
    </head>
    <body>
        <div class="main">
            <textarea></textarea>
        </div>
    </body>
</html>

So wird es in Browsern gerendert:

Bildschirmfoto

Warum passiert das? Wie entferne ich diesen zusätzlichen Platz?

römisch
quelle

Antworten:

207

Hinzufügen vertical-align: topzu textarea.

Der Grund für die Lücke ist, dass textareaes sich um ein inline(oder inline-block) Element handelt, und die Lücke ist der Platz, der für Absteiger im Text reserviert ist . Ich weiß nicht genau, warum die Lücke zwischen verschiedenen Browsern unterschiedlich ist.

dreißig Punkte
quelle
16

In meinem Fall funktionierte die Antwort von dreißig Punkten nicht gut mit dem <div>unteren Rand der Eltern .

display: block passte mir aber gut.

André Chalella
quelle