line-height属性通常关注垂直对齐,而不是输入。有没有一种方法可以自动将文本居中,而不需要调整填充?
发布于 2008-11-29 15:30:25
在Opera 9.62,Mozilla 3.0.4,Safari 3.2 (用于Windows)中,如果您将一些文本或至少一个空格放在与输入字段相同的行中,则会有所帮助。
<div style="line-height: 60px; height: 60px; border: 1px solid black;">
<input type="text" value="foo" />
</div>
(假设输入语句后有一个参数)
IE7忽略了我尝试过的每一个CSS攻击。我建议只对IE使用填充。如果它只需要在一个特定的浏览器中工作,应该会让你更容易正确定位它。
发布于 2009-06-03 16:50:30
我自己也遇到了这个问题。我发现,如果不指定输入高度,而是将font-height和padding结合使用,则会产生垂直对齐的文本。
例如,假设您想要一个42px高的输入框,字体大小为20px。您可以简单地找到输入高度和字体大小之间的差异,将其除以2,并将填充设置为该值。在本例中,您将拥有22px的总填充,即每边11px。
<input type="text" style="padding: 11px 0px 11px 0px; font-size: 20px;" />
这将给你一个42px高的输入框,并具有完美的垂直对齐方式。
希望这能有所帮助。
发布于 2008-11-29 13:05:20
我自己还没有尝试过,但尝试设置:
height : 36px; //for other browsers
line-height: 36px; // for IE
其中36px是输入的高度。
https://stackoverflow.com/questions/326650
复制相似问题