input輸入框中的光標(biāo)大小顯示不一致的解決方法

字號(hào):


    input輸入框中的光標(biāo)大小顯示不一致
    ie7中和chrome的非常明顯
    先看看問題產(chǎn)生的原因:chrome瀏覽器對(duì)光標(biāo)高度的設(shè)置原則為,當(dāng)沒有內(nèi)容的時(shí)候光標(biāo)的高度=input的line-height的值,當(dāng)有內(nèi)容時(shí),光標(biāo)從input的頂端到文字的底部。
    ok,既然知道了原因,我們就相應(yīng)才去一些措施。嘗試了兩種方法去做:。
    方法1:將line-height的值設(shè)置為跟字體大小一致;如果高度達(dá)不到,用padding去撐;
    方法2:對(duì)chrome不設(shè)置line-height,它會(huì)自動(dòng)文字居中,對(duì)ie進(jìn)行hack設(shè)置line-height的值以保證文字垂直居中;這里要注意一下,如果在reset的樣式文件中有設(shè)置line-height等值,請(qǐng)進(jìn)行l(wèi)ine-height的重置,可以用line-height:normal。具體可以看看騰訊好萊塢頁(yè)面的搜索框。
    具體css:
    代碼如下:
    height: 34px;
    font-size: 12px;
    line-height: normal;
    line-height: 34px\9;