Chrome:复制/粘贴后输入文本元素失去垂直对齐



我在Chrome 19中的以下html代码中遇到了问题。如果我从输入字段中复制文本"Hello"并将其粘贴到同一字段中,则文本的垂直对齐方式位于顶部,但应该在中间。

如果我从样式中删除字体大小属性,则不会出现效果。这是浏览器错误,还是我在样式属性上做错了什么?

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Title</title>
 </head>
 <body>
  <div style="width:200px;height:50px;">
   <input type="text" style="width:100%;height:100%;font-size:1.75em;" value="Hello world!"/>
  </div>
 </body>
</html>

这个问题绝对是浏览器错误,但仍然有办法修复它。对我有用的是向输入添加一个行高,其值等于高度的值。

我以像素而不是百分比设置高度,当我尝试以百分比设置它们时,它似乎不起作用。不过,Ems做到了。使用此策略,您的代码可能如下所示:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Title</title>
 </head>
 <body>
  <div style="width:200px;height:50px;">
   <input type="text" style="width:100%;height:2em;line-height:2em;font-size:1.75em;" value="Hello world!"/>
  </div>
 </body>
</html>

最新更新