CSS input文本框光标高度调整
阅读(9073)切图仔可能都经历过,通过调整input文本框的 padding-top
和 padding-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;