textareaの下の余分なスペースは、ブラウザによって異なります


85

textareaタグの下に余分なスペースがあります。さまざまなブラウザで1〜4ピクセル。マークアップは非常に単純です。

<!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>

ブラウザでのレンダリング方法は次のとおりです。

スクリーンショット

なんでこんなことが起こっているの?この余分なスペースを削除するにはどうすればよいですか?

回答:


210

に追加vertical-align: toptextareaます。

ギャップの理由textareaは、inline(またはinline-block)要素であり、ギャップはテキスト内の子孫用に予約されているスペースであるためです。ブラウザによってギャップが異なる理由は正確にはわかりません。


17

私の場合、30ドットの答えは、親<div>の下の境界線ではうまく機能しませんでした。

display: block でも私にはぴったりでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.