CSS input文本框光标高度调整

阅读(9073)

切图仔可能都经历过,通过调整input文本框的 padding-toppadding-bottom 来让光标看起来上下居中,在 12px 文本大小情况下是很不错的,有人总结了以下区别:

  • IE:不管文本框是否有文字,光标高度始终与font-size一致。
  • FF:文本框有文字时,光标高度与font-size一致;无文字时,光标高度与input的height一致。
  • chrome:文本框无文字时,光标高度与line-height一致;有文字时,光标高度从input顶部到文字底部(这两种情况都是在有设定line-height的时候),如果没有line-height,则是与font-size一致。

可见受font-size和height的影响很大,如果每次font-size和height一变,我就需要重新调整padding的大小,实在是太麻烦了。事实上通过总结会发现,非IE浏览器只要不设 line-height ,光标高度都是默认与font-size一样高且自动上下居中,IE系列浏览器只需要加上line-height就能表现一致了,所以只需要hack一下就很好了,如下代码:

    height: 40px;
    line-height: 40px\9;
Tags: