rem
rem copied to clipboard
关于dpr
关于android/IOS的DPR值没有考虑进去,如果要做高清适配,是不是还需要增加DPR的识别和设置???
对的,他的方案确实是没有把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就可以了。
这个方案确实没处理dpr,1px的思路的单独判断加特别的样式控制。谢谢 @dayney 和 @2ue 的方案,学习了。