调整input里面的输入光标大小并兼容主流浏览器

网站建设 2023-01-28 21:39www.1681989.com免费网站
在项目里碰到过一个问题

put输入框用一个背景图模拟,设置height和le-height一样的高度,使里面的输入文字能够居中,如下图

 

在FF下出现的情况是点击put时,输入光标其实上跟put的height一样高,但当开始输入文字时,光标又变得跟文字一样高,
chrome下光标跟put的height一样高,
而IE下光标跟文字的大小一致。

初步结论如下

IE不管该行有没有文字,光标高度与font-size一致。
FF该行无文字时,光标高度与put的height一致。该行有文字时,光标高度与font-size一致。(最新版的好像和ie一样了)

Chrome该行无文字时,光标高度与le-height一致;该行有文字时,光标高度从put顶部到文字底部(这两种情况都是在有设定le-height的时候),如果没有le-height,则是与font-size一致。

解决办法

1,给put的height设定一个较小的高度,然后用paddg去填充,基本上可以解决所有浏览器的问题

复制代码
代码如下:

put{
height: 16px;
paddg: 4px 0px;
font-size: 12px;
}

2,只给IE le-height就可以了。

复制代码
代码如下:

-ms-le-height:40px;

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by