// 大屏适配 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兼容起来特别麻烦。下面我推荐一种我一直在用的方法。javascript
我是用flexiable.js,来获取html的font-size来计算内容高度有没有超出必定高度,而后在父级添加class类来适配。css
拿iphone6的手机设计稿来讲尺寸750*1206 若是高度超过1245 那几乎能够确定手机屏幕属于比较大的。html
公式:设计稿的高度/(html的字体大小*设备缩放的倍数) > 16.6 = 大屏幕手机,大屏的间距我都是用vh,这样更容易适配更多款式手机。java
设计稿的高度/(html的字体大小*设备缩放的倍数) > 15.2 = 小屏幕手机,如底部带导航的华为,或者微信iphone底部带导航的都属于小屏幕。微信
附注:设备缩放的倍数 = 设计稿的宽/页面的宽;iphone
16.6 = 1245/75;字体
15.2 = 1140/75;flex
公式有不少能够设定本身想要的高度,若是有更好的方法欢迎留言。spa
注:必需要使用flexiable.js设计