知识填坑记录

知识填坑记录

问题

最近写H5的单页面,发现自己的一个错误认识。
最近一个H5的需求是将所有的内容展示在一个页面中呈现完毕,不要有滑动。就是高度要跟手机的视口一致,然后因为在Chrome Developer Tools,所以就按照上面的尺寸进行设置。
如下图是iPhone6的尺寸 375*667

在移动开发使用阿里的flexible.js进行的手机适配。所以根据上面的尺寸得到相应的rem尺寸。结果出来在chrome开发者工具上看没有问题,如图

在手机上就出现问题了,不是一屏显示完

解决方法

当页面在最底部有内容的时候就懵逼了,一直没有很好的解决方法。只能用js硬撸了
flexible.js会给根html标签加上一个font-size属性,根据这个来计算rem。所以只能生成这个属性后拿到手机设备视口高度,再来计算rem。

  var view = window.innerHeight;
  var roots = parseFloat(document.getElementsByTagName('html')[0].style.fontSize);

  document.getElementsByClassName('container')[0].style.height =  view/roots+'rem';

这样就可以解决上面所说的问题,不过个人觉得不是最优。但暂时未找到其他方法,看各位是否有其他好的方法。

参考文章:https://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html

posted @ 2017-12-29 16:02  marvine  阅读(206)  评论(0编辑  收藏  举报