// 大屏適配 var hFont = $('html').css('font-size'); var h = $(window).height(); hFont = hFont.slice(0,-2); // 屏幕超過1245。顯示大屏配置 if(h/hFont > 16.6){ $("body").addClass("big-page"); }else if(h/hFont < 15.2){ $("body").addClass("small-page"); }
最近市場上有很多各種寬高不等的手機,以前只有一個iphoneX還好,現在各種樣子的太多。全屏的h5兼容起來特別麻煩。下面我推薦一種我一直在用的方法。
我是用flexiable.js,來獲取html的font-size來計算內容高度有沒有超出一定高度,然后在父級添加class類來適配。
拿iphone6的手機設計稿來說尺寸750*1206 如果高度超過1245 那幾乎可以肯定手機屏幕屬於比較大的。
公式:設計稿的高度/(html的字體大小*設備縮放的倍數) > 16.6 = 大屏幕手機,大屏的間距我都是用vh,這樣更容易適配更多款式手機。
設計稿的高度/(html的字體大小*設備縮放的倍數) > 15.2 = 小屏幕手機,如底部帶導航的華為,或者微信iphone底部帶導航的都屬於小屏幕。
附注:設備縮放的倍數 = 設計稿的寬/頁面的寬;
16.6 = 1245/75;
15.2 = 1140/75;
公式有很多可以設定自己想要的高度,如果有更好的方法歡迎留言。
注:必須要使用flexiable.js