我有一个输入字段:
<input type="text" placeholder="whatever">
有样式:
input {
margin: 0;
padding: 0 6px;
font-size: 19px;
line-height: 19px;
height: 36px;
width: 255px;
}
问题是webkit CHROME中占位符的行高没有生效。所以输入字段中的文本以丑陋的方式对齐。其他人看过这个以及现在如何解决它?
由于
答案 0 :(得分:23)
输入占位符似乎不喜欢像素行高值,但这会在输入中垂直居中:
::-webkit-input-placeholder { line-height: normal; }
答案 1 :(得分:18)
看着你的标签,我假设你正在写一些像......
<input type="text" placeholder="whatever">
不幸的是,在设置占位符样式时,Chrome会将您的双手绑在一起,选择器看起来像这样......
input::-webkit-input-placeholder {}
中找到样式选项,陷阱和支持的浏览器
答案 2 :(得分:11)
看来删除行高声明完全有效。它适用于FF7,Chrome15和Safari 5.1。在IE9和FF3.6中看起来也不错,但在IE8中看起来不太好。
答案 3 :(得分:1)
我认为我无法完全复制您的问题,但也许您可以使用padding: 7px 6px;
进行修复。
这样做应该有希望将你的顶部和底部填充设置为7px,这与line-height
几乎相同。使用不同的大小(宽度/字体大小),您应该能够通过计算(height - fontsize) / 2
来选择合适的填充,或者给予或取一个或两个完美的像素。