rem icon indicating copy to clipboard operation
rem copied to clipboard

关于dpr

Open ghost opened this issue 8 years ago • 2 comments

关于android/IOS的DPR值没有考虑进去,如果要做高清适配,是不是还需要增加DPR的识别和设置???

ghost avatar Nov 23 '16 15:11 ghost

对的,他的方案确实是没有把dpr考虑进去,并且没有解决手机1px问题。 可以参考一下我的解决方案。

(function(designSize) { //designSize为设计稿的尺寸(宽)
    var doc = document,
        docEl = doc.documentElement,
        devWidth = docEl.clientWidth > 1080 ? 1080 : docEl.clientWidth,
        dpr = devicePixelRatio || 1,  //如果不支持devicePixelRatio则默认为1
        scale = 1 / dpr,
        width = dpr * devWidth,
        document.querySelector('meta[name="viewport"]')
          		.setAttribute('content','width=' + width +
                        ', initial-scale=' + scale +
                        ', maximum-scale=' + scale +
                        ', minimum-scale=' + scale +
                        ', user-scalable=no');
  		docEl.style.fontSize = devWidth / (designSize / 100) * dpr + 'px';
})(750);

然后在写CSS的时候,按设计稿上的尺寸除以100就可以了。

2ue avatar Nov 24 '16 02:11 2ue

这个方案确实没处理dpr,1px的思路的单独判断加特别的样式控制。谢谢 @dayney 和 @2ue 的方案,学习了。

hbxeagle avatar Dec 05 '16 03:12 hbxeagle