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