chrome、firefox、IE中input輸入光標(biāo)位置錯(cuò)位解決方案
發(fā)布時(shí)間:2013-07-03 15:59:22 作者:佚名
我要評論

input輸入框用一個(gè)背景圖模擬,設(shè)置height和line-height一樣的高度,使里面的輸入文字能夠居中,經(jīng)測試chrome、firefox、IE中表現(xiàn)的情況有所不一,具體的解決方法如下,感興趣的朋友可以參考下哈
瀏覽器中input輸入光標(biāo)位置錯(cuò)位詳解
在工作中遇到的問題,嘗試著找找解決方法,還真有呢!記下來方便自己方便他人吧
以前在項(xiàng)目里碰到過一個(gè)問題
input輸入框用一個(gè)背景圖模擬,設(shè)置height和line-height一樣的高度,使里面的輸入文字能夠居中,
在FF下出現(xiàn)的情況是:點(diǎn)擊input時(shí),輸入光標(biāo)其實(shí)上跟input的height一樣高,但當(dāng)開始輸入文字時(shí),光標(biāo)又變得跟文字一樣高,
chrome下光標(biāo)跟input的height一樣高,
而IE下光標(biāo)跟文字的大小一致。
一直沒弄明白為什么這樣子,今天聽羅浮宮里的同學(xué)一討論,才知道原因所在。
初步結(jié)論如下:
IE:不管該行有沒有文字,光標(biāo)高度與font-size一致。
FF:該行有文字時(shí),光標(biāo)高度與font-size一致。該行無文字時(shí),光標(biāo)高度與input的height一致。
Chrome:該行無文字時(shí),光標(biāo)高度與line-height一致;該行有文字時(shí),光標(biāo)高度從input頂部到文字底部(這兩種情況都是在有設(shè)定line-height的時(shí)候),如果沒有l(wèi)ine-height,則是與font-size一致。
解決的方案:
給input的height設(shè)定一個(gè)較小的高度,然后用padding去填充,基本上可以解決所有瀏覽器的問題
input{
height:16px;
padding:4px0px;
font-size:12px;
}
在工作中遇到的問題,嘗試著找找解決方法,還真有呢!記下來方便自己方便他人吧
以前在項(xiàng)目里碰到過一個(gè)問題
input輸入框用一個(gè)背景圖模擬,設(shè)置height和line-height一樣的高度,使里面的輸入文字能夠居中,
在FF下出現(xiàn)的情況是:點(diǎn)擊input時(shí),輸入光標(biāo)其實(shí)上跟input的height一樣高,但當(dāng)開始輸入文字時(shí),光標(biāo)又變得跟文字一樣高,
chrome下光標(biāo)跟input的height一樣高,
而IE下光標(biāo)跟文字的大小一致。
一直沒弄明白為什么這樣子,今天聽羅浮宮里的同學(xué)一討論,才知道原因所在。
初步結(jié)論如下:
IE:不管該行有沒有文字,光標(biāo)高度與font-size一致。
FF:該行有文字時(shí),光標(biāo)高度與font-size一致。該行無文字時(shí),光標(biāo)高度與input的height一致。
Chrome:該行無文字時(shí),光標(biāo)高度與line-height一致;該行有文字時(shí),光標(biāo)高度從input頂部到文字底部(這兩種情況都是在有設(shè)定line-height的時(shí)候),如果沒有l(wèi)ine-height,則是與font-size一致。
解決的方案:
給input的height設(shè)定一個(gè)較小的高度,然后用padding去填充,基本上可以解決所有瀏覽器的問題
復(fù)制代碼
代碼如下:input{
height:16px;
padding:4px0px;
font-size:12px;
}
相關(guān)文章
chrome表單自動填充導(dǎo)致input文本框背景變成偏黃色問題解決
chrome表單自動填充后,input文本框的背景會變成偏黃色的,想必大家都會碰到這種情況吧,這是由于chrome會默認(rèn)給自動填充的input表單加上input:-webkit-autofill私有屬性造2013-08-21- 本文給大家分享的是chrome瀏覽器中hack解決input:-webkit-autofill自定義樣式的方法,就是如何在chrome瀏覽器中將input的背景設(shè)置成透明,方法非常簡單,這里推薦給大家。2015-03-18