到目前爲止,互聯網行業裏,手機愈來愈智能化,移動端佔有的比例愈來愈高,尤爲實在電商,新聞,廣告,遊戲領域。用戶要求愈來愈高,網站功能愈來愈好,效果愈來愈炫酷,這就要求咱們產品質量愈來愈高,web前端開發而言是一個挑戰,是一個難題,也是一個機遇。如何讓咱們所開發的手機頁面能有更好的交互體驗,就是這篇文章的主旨:移動web開發問題和優化小結。這個是我在掘金上看到的一篇文章,感受挺值得咱們去溫故知新,在此發出來給本身忘記時查看也給你們一個幫助。css
頁面在手機上顯示時,增長這個meta可讓頁面強制讓文檔的寬度與設備的寬度保持1:1,而且文檔最大的寬度比例是1.0,且不容許用戶經過點擊或者縮放等操做對屏幕放大瀏覽。(這個在ios10以上的版本已經失效了,即便加了下面的meta,用戶雙擊,縮放仍是能夠縮放頁面。你們能夠按照開發需求,參考下面的鏈接進行限制--ios10中禁止用戶縮放頁面)html
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
禁止ios上自動識別電話前端
<meta content="telephone=no" name="format-detection" />
禁止android上自動識別郵箱vue
<meta content="email=no" name="format-detection" />
下面兩個是針對ios上的safari上地址欄和頂端樣式條的(個人手機是安卓,這個沒很仔細測試過,可是都有加上)html5
<meta name="apple-mobile-web-app-capable" content="yes" /> <!-- 據說在ios7以上版本就沒效果了 --> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <!-- 可選default、black、black-translucent 可是我都是用black-->
<a href="tel:020-11811922">打電話給:0755-10086</a> <a href="sms:10086">發短信給: 10086</a>
.translate3d{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
說到這裏,也順便說下動畫或者過渡的兩個建議:android
html
中的標籤
img
是網頁結構的一部分會在加載結構的過程當中和其餘標籤一塊兒加載。
css
背景圖存在的圖片background會等到結構加載完成(網頁的內容所有顯示之後)纔開始加載
img
的內容,再加載背景圖片
background
引用的圖片。引入一張圖片,那麼在這個圖片加載完成以前,
img
後的內容不會顯示。而用
background
來引入一樣的圖片,網頁結構和內容加載完成以後,纔開始加載背景圖片,網頁內容能正常瀏覽,可是看不到背景圖片。至於這兩種,你們按照習慣,需求等權重因素選擇!
-webkit-overflow-scrolling: touch;
.fb-box
是一個大div
,包含着頁面上的全部元素,包括所看到的那個彈窗.dialog-img
,而且設置了height:100%;-webkit-overflow-scrolling:touch;position:relative;
ios
-webkit-overflow-scrolling:touch;
也須要,可是這樣設置,在
ios
上會有一個
bug
,頁面滾動必定的距離後,點擊了顯示彈窗,再關閉的話,就會發現,彈窗的一部分還「留在頁面上」。
div
和
.fb-box
以兄弟節點的方式佈局,在外層再弄一個
div
包住,這個坑就算爬起來了,效果以下
.fb-box
去掉
position:ralative;
。讓彈窗的
div
參考
body
定位!
fixed
元素容易定位出錯,軟鍵盤彈出時,影響
fixed
元素定位,會發生元素錯位(滾動一下又恢復),有時候會出現閃屏的效果。我也搜過一下這個問題,發現別人還遇到了我沒遇到過的問題!真是,哎~。因此在手機上,不建議用
fixed
定位,使用
absolute
代替!若是必定要用,寫好了以後,必定要多測試幾回!
.no-flash {
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
}
a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)}
input,button,textarea{-webkit-appearance: none;}
手機管家iPhoneX的適配總結css3