移動端Web頁面,即常說的H5頁面、手機頁面、webview頁面等。css
手機設備屏幕尺寸不一,作移動端的Web頁面,須要考慮在安卓/IOS的各類尺寸設備上的兼容,這裏總結的是針對移動端設備的頁面,設計與前端實現怎樣作能更好地適配不一樣屏幕寬度的移動設備。html
引用一文章的描述:前端
在不一樣尺寸的手機設備上,頁面「相對性的達到合理的展現(自適應)」或者「保持統一效果的等比縮放(看起來差很少)」。ios
在作適配以前,須要先理解一些概念。對於不理解的地方,能夠搜索更多文章看看,本文總結的移動端兼容性問題解決方案囊括了4個思考方向, 注意不是惟一的具體的解決方案而是從四個角度來思考問題, 分別是html, css, 腳本以及http協議(服務端)的視角來考慮兼容問題, 僅供參考~web
User Agent中文名爲用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器可以識別客戶使用的操做系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。瀏覽器
最主流的方法就是在服務端/客戶端查詢這個字段:服務器
//檢測是不是移動端
app
function checkMobile() {
字體
if (!(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
ui
alert("請在移動端查看(或者開發者模式)");
}
}
屏幕可用工做區高度/寬:window.screen.availHeight/window.screen.availWidth
屏幕分辨率的高/寬:+window.screen.height/window.screen.width
網頁可見區域寬/高:+document.body.clientWidth/document.body.clientHeight
我喜歡一種暴力的方式:
///嘿嘿嘿
let device = window.innerWidth < window.innerHeight ? "phone" : "laptop";
經過查詢屏幕寬度判斷手機,只侷限於css樣式;
特色是,媒體查詢動態更新,很是方便,並且不只適應屏幕大小,還動態兼容窗口尺寸的改變:
@CHARSET "UTF-8";
@media (max-width: 991px) {
/*do something*/
}
@media (min-width: 1601px) {
/*do something*/
}
也是很是實用的,一般手機屏幕的ppi/dpi很是高,因此正常的字體會顯得很小,因而最好在html頭中添加如下viewport標籤:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
width 設置layout viewport 的寬度,爲一個正整數,或字符串」width-device」initial-scale 設置頁面的初始縮放值,爲一個數字,能夠帶小數minimum-scale 容許用戶的最小縮放值,爲一個數字,能夠帶小數maximum-scale 容許用戶的最大縮放值,爲一個數字,能夠帶小數height 設置layout viewport 的高度,這個屬性對咱們並不重要,不多使用user-scalable 是否容許用戶進行縮放,值爲」no」或」yes」, no 表明不容許,yes表明容許