CSS3 重置iphone瀏覽器按鈕input,select等表單元素的默認樣式

今天在公司寫了一個登錄頁面效果,讓我碰到一個怪異的問題——“表單中的input[type="submit"]和input[type="reset"]按鈕在iPhone的safari瀏覽器下圓角有一個bug”。下面我來簡單的描述一下這個bug的樣子:
初載入頁面后,表單中的input[type="submit"]和input[type="reset"]按鈕渲染成下圖的樣子:
奇怪的是你點擊以后就會正常:
或許很多同學會認為我的樣式代碼沒寫好,那么想讓大家知道是怎么一回事,先來看看我寫的代碼:
input[type="submit"]和input[type="reset"]樣式代碼:
width: 30%;
cursor: pointer;
background: rgb(61, 157, 179);
padding: 8px 5px;
font-family: 'BebasNeueRegular','Arial Narrow',Arial,sans-serif;
color: #fff;
font-size: 24px;
margin: 5px;
border: 1px solid rgb(28, 108, 122);
margin-bottom: 10px;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
border-radius: 3px;
box-shadow:0px 1px 6px 4px rgba(0, 0, 0, 0.07) inset,
0px 0px 0px 3px rgb(254, 254, 254),
0px 5px 3px 3px rgb(210, 210, 210);
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
}
.form-actions input:hover{
background: rgb(74, 179, 198);
}
.form-actions input:active,
.form-actions input:focus{
background: rgb(40, 137, 154);
position: relative;
top: 1px;
border: 1px solid rgb(12, 76, 87);
box-shadow: 0px 1px 6px 4px rgba(0, 0, 0, 0.2) inset;
}
這樣的代碼在瀏覽器中瀏覽是完全沒有問題的:
注:請使用safari測試上面代碼。
可是上面的代碼就在iPhone的Safari瀏覽器下出開頭所陳述的問題。一下真不好如何動手解決,因為從來沒有接觸過,所以就一直沒有碰到過。 但問題出了,就要想辦法解決,于是在GG上搜索“input submit for iPhone”,還真找到了問題所在。 Keir Whitaker 在Styling Submit Buttons for Mobile Safari 中介紹的內容和我碰到的問題可真是一模一樣,按其方法在樣式中加入:
復制代碼代碼如下:.form-actions input{
...
-webkit-appearance: none;
}更新到iPhone一看,真爽,問題解決了。
原來問題出在這里,iPhone上的safari解析input[type="submit"]和input[type="reset"]按鈕會以 蘋果瀏覽器的默認UI渲染,這樣就出現我剛才那種現像,我們在樣式中明確的設置了button的圓角值,但到iPhone的safari上就不生效了。要 想讓他生效,就需要在樣式中明確的指名:
復制代碼代碼如下:.form-actions input{
...
-webkit-appearance: none; }在不同的“-webkit-appearance”選值情況下,button所渲染的效果是不一樣的,詳細的測試代碼大家可使用safari瀏覽器點擊這 里。有關于“-webkit-appearance”的詳細介紹,這回算是知道了,最后我建議大家,我們可以直接在“reset.css”樣式文件中加處 這么一句:
復制代碼代碼如下:input[type="submit"],
input[type="reset"],
input[type="button"],
button { -webkit-appearance: none; }這樣一來就不會為這樣的問題頭痛了。
如果你還沒有碰到,或者你也在開發(fā)移動端web,都希望你記住這個小技巧,因為當你在制作中碰到這樣的問題時,不會為此抓破頭皮,能解決你問題。最后希望大家喜歡這篇文章,如果你覺得對你有所幫助,可以推薦給你的朋友,謝謝閱讀。
相關文章
- 這是一款基于css3實現的iPhone X手機桌面背景圖片切換效果源碼。底部排列著各個圖片的縮略圖,上方是iPhone X手機界面,手機中可看到背景圖的清晰照片效果。點擊下方的縮略2017-11-30
- 純CSS3仿iPhone文件夾特效源碼是一款純css3繪制蘋果手機iPhone界面樣式,點擊app文件夾可以打開展示,和iPhone桌面的打開效果很類似。本段代碼可以在各個網頁使用,有需要2017-11-30
- 這是一個基于純CSS3的iPhone X背景切換動畫特效,以淡入淡出為主,iPhone X屏幕的背景和頁面的背景交相呼應,逼真炫酷2017-11-16
jQuery+CSS3實現iPhone手機鎖屏解鎖動畫特效源碼
jQuery+CSS3實現iPhone手機鎖屏解鎖動畫特效源碼是一款基于jQuery+CSS3實現的蘋果手機模型,控制鼠標滑動來實現手機解鎖進入主界面。本段代碼可以在各個網頁使用2017-09-20構建iPhone企業(yè)級應用-基于HTML,CSS和JavaScript pdf掃描版
筆者斯塔克會演示如何利用這些web技術設計和開發(fā)iphone以及iphone touch平臺的應用程序,而不必使用obiective-c或者cocoa2013-10-22- 純CSS3模擬iPhone4界面及滑動解鎖,沒有過多的使用圖片,能做出這種效果的確不錯了2012-05-08
- CSS3+jQuery 模擬 ios 天氣顯示功能,仿iphone(蘋果)手機(或Android系統(tǒng)手機)的天氣預報顯示效果,帶動畫效果的天氣顯示功能,非常的漂亮2012-02-12
- 這篇文章主要介紹了純 CSS 畫 iphone,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05