Extra space under textarea, differs along browsers

2019-01-10 08:15发布

There`s some extra space under textarea tag. From 1 to 4 pixels in different browsers. The markup is very 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>

Here's how it is rendered in browsers:

Screenshot

Why is this happening? How to remove this extra space?

2条回答
趁早两清
2楼-- · 2019-01-10 08:28

Add vertical-align: top to textarea.

The reason for the gap is that textarea is an inline (or inline-block) element, and the gap is the space reserved for descenders in text. I don't know exactly why the gap is different between different browsers.

查看更多
叼着烟拽天下
3楼-- · 2019-01-10 08:28

In my case, thirtydot's answer didn't work well with the parent <div>'s bottom border.

display: block suited me nicely though.

查看更多
登录 后发表回答