Espacio adicional debajo del área de texto, difiere según los navegadores

82

Hay algo de espacio adicional debajo de la etiqueta textarea. De 1 a 4 píxeles en distintos navegadores. El marcado es muy simple:

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

Así es como se representa en los navegadores:

Captura de pantalla

¿Por qué está pasando esto? ¿Cómo eliminar este espacio extra?

romano
fuente

Respuestas:

207

Agregar vertical-align: topa textarea.

El motivo del espacio es que textareaes un elemento inline(o inline-block), y el espacio es el espacio reservado para los descendientes en el texto. No sé exactamente por qué la brecha es diferente entre diferentes navegadores.

treinta y dos
fuente
16

En mi caso, la respuesta de Thirtydot no funcionó bien con el <div>borde inferior del padre .

display: block aunque me quedaba muy bien.

André Chalella
fuente