input输入框用一个背景图模拟,设置height和line-height一样的高度,使里面的输入文字能够居中,
在FF下出现的情况是:点击input时,输入光标其实上跟input的height一样高,但当开始输入文字时,光标又变得跟文字一样高,
chrome下光标跟input的height一样高,
而IE下光标跟文字的大小一致。
input输入框用一个背景图模拟,设置height和line-height一样的高度,使里面的输入文字能够居中,
在FF下出现的情况是:点击input时,输入光标其实上跟input的height一样高,但当开始输入文字时,光标又变得跟文字一样高,
chrome下光标跟input的height一样高,
而IE下光标跟文字的大小一致。
input输入框用一个背景图模拟,设置
height和
line-height一样的高度,使里面的输入文字能够居中,
在
FF下出现的情况是:点击
input时,输入光标其实上跟
input的
height一样高,但当开始输入文字时,光标又变得跟文字一样高,
chrome下光标跟
input的
height一样高,
而
IE下光标跟文字的大小一致。
一直没弄明白为什么这样子,后来才知道原因所在。
初步结论如下:
IE:不管该行有没有文字,光标高度与
font-size一致。
FF:该行有文字时,光标高度与
font-size一致。该行无文字时,光标高度与
input的
height一致。
Chrome:该行无文字时,光标高度与
line-height一致;该行有文字时,光标高度从
input顶部到文字底部
(这两种情况都是在有设定
line-height的时候
),如果没有
line-height,则是与
font-size一致。
解决的方案:
给
input的
height设定一个较小的高度,然后用
padding去填充,基本上可以解决所有浏览器的问题
input{
height: 16px;
padding: 4px 0px;
font-size: 12px;