1,rem布局,现在普遍常用的方法
一般ui设计师给的页面都是640的,所以
- document.documentElement.clientWidth/6.4+"px";
项目中,在ps中量的尺寸直接除以100,后面写rem就可以了。
- window.οnlοad=function(){
-
- setRemSize();
- window.addEventListener("resize",setRemSize,false);
- function setRemSize(){
-
- var _clientWidth=document.documentElement.clientWidth/6.4+"px";
-
- document.documentElement.style.fontSize=_clientWidth;
- }
- };
2.百分比布局
这种方法比较古老,做出来的界面在各个分辨率的适配上比较不好,例如一个div在分辨率为320*568是320px * 100px 在375 * 667 的分辨率显示就是 375px * 100px 效果不是等比拉升。
3,按照640等比例缩放。
- <script type="text/javascript">
- var isios = false;
- ! function(userAgent) {
- var screen_w = parseInt(window.screen.width),
- scale = screen_w / 640;
- if(/Android (\d+\.\d+)/.test(userAgent)) {
- var version = parseFloat(RegExp.$1);
- document.write(version > 2.3 ? '<meta name="viewport" content="width=640, initial-scale = ' + scale + ',user-scalable=1, minimum-scale = ' + scale + ', maximum-scale = ' + scale + ', target-densitydpi=device-dpi">' : '<meta name="viewport" content="width=640, target-densitydpi=device-dpi">');
- } else {
- isios = true;
- document.write('<meta name="viewport" content="width=640, initial-scale = ' + scale + ' ,minimum-scale = ' + scale + ', maximum-scale = ' + scale + ', user-scalable=no, target-densitydpi=device-dpi">');
- }
- }(navigator.userAgent);
- </script>