Додатковий простір під текстовою областю відрізняється в браузерах


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.