淘宝的flexiable.js 移动端布局兼容iphoneX,各类大屏,小屏,iphone底部带导航的全屏的方法(改)

// 大屏适配
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设计

相关文章
相关标签/搜索