解决Input Text文本垂直居中的简单快速有效的方法
庄文栋
2023-12-01
这个问题,困扰好几次了,也用过其它方法解决,但相对还是比较复杂,研究来研究去,还是用下面这个方法比较快而有效。
不同浏览器对文本框行高line-height的处理
除IE内核浏览器外,缺省line-height时都会自适应文本框的height。
IE下line-height对文本框有效,加上与相同的height后可以让IE也垂直居中。line-height超过height时,文本框获得焦点后拖动鼠标或按 上下键会出现上下滚动的现象。
Webkit内核下,当缺省line-height是,文本会自适应文本框height。 并且line-height对其有效。
Geoko下,它的值会随font-size的改变而改变(可以通过firebug来看计算样式),而不能由 网页开发人员来定义。
Geoko下,文本框获得焦点时的光标的大小由文本框的height决定,基本等于文本框的height。
Opera的表现最为优雅,line-height完全无效,文本始终垂直居中,光标也不会出现Geoko的 问题。
其他实现文本框文字垂直居中的解决方案
利用padding,比如taobao.com、yahoo.com……
利用font-size,比如google.com,用增大字体来撑高文本框。