在textarea下额外的空间,随着浏览器的不同而不同

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

以下是它在浏览器中的呈现方式:

截图

为什么发生这种情况? 如何删除这个额外的空间?

vertical-align: top添加到textarea

之所以出现这种差距,是因为textarea是一个inline (或inline-block )的元素,而这个间隙是为文本中的下行保留的空间。 我不知道为什么不同浏览器之间的差距是不同的。

就我而言,三十岁的回答在父母<div>的底部边界上效果不佳。

display: block适合我,虽然。