Дополнительное пространство под текстовым полем, отличается в разных браузерах


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: topв textarea.

Причина пробела в том, что textareaэто элемент inline(или inline-block), а пробел - это место, зарезервированное для нижних элементов текста. Я не знаю точно, почему разница между браузерами различается.


17

В моем случае ответ тридцати точек не работал <div>с нижней границей родителя .

display: block хотя меня вполне устраивали.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.