网站地图    收藏   

主页 > 前端 > css教程 >

rem布局获得分辨率方法

来源:未知    时间:2016-05-02 10:54 作者:xxadmin 阅读:

[导读] 不是所有元素都需要缩放的。 最容易举例的就是1px的border,无论什么屏,无论像素密度多少,都要准确的显示1物理像素 淘宝目前的做法即是,通过脚本检测设备的像素密度,再设置文...

不是所有元素都需要缩放的。

最容易举例的就是1px的border,无论什么屏,无论像素密度多少,都要准确的显示1物理像素

淘宝目前的做法即是,通过脚本检测设备的像素密度,再设置文档的根font-size与viewport的缩放值,从而让px能够准确的显示为物理像素。

我们的做法是:获取设备像素密度后,设置根节点的fontSize,然后文档中全部使用rem+px结合。

window.onload = function () {
    var nameAttr = document.createAttribute('name');
    nameAttr.value = 'viewport';
    var contentAttr = document.createAttribute('content');
    var dpr = window.devicePixelRatio || 1;
    contentAttr.value = 'width=device-width,initial-scale=' + (1 / dpr) + ',target-densitydpi=device-dpi,user-scalable=no';
    var element = document.createElement('meta');
    element.attributes.setNamedItem(nameAttr);
    element.attributes.setNamedItem(contentAttr);
    document.head.appendChild(element);
    document.getElementsByTagName('html')[0].style.fontSize = (16 * dpr) + 'px';
};

目前兼容良好。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论