移动端rem布局

在使用rem移动端布局的时候,发现,使用浏览器,微信浏览器,还有其他浏览器打开做的H5页面的时候,兼容性和适配都是可以的,然而,使用安卓和ios的webview打开的时候,发现没有适配(这个页面变得超大),经过查资料,是因为app的字体大小和其他浏览器的不一样,导致,rem的计算出现问题,然后又经过百度,用了另一种计算rem的js,解决问题。

<script type="text/javascript">
			function adapt(designWidth, rem2px){
			    var d = window.document.createElement('div');
			    d.style.width = '1rem';
			    d.style.display = "none";
			    var head = window.document.getElementsByTagName('head')[0];
			    head.appendChild(d);
			    var defaultFontSize = parseFloat(window.getComputedStyle(d, null).getPropertyValue('width'));
			    return defaultFontSize
			};

			!(function(doc, win, designWidth, rem2px) {
			    var docEl = doc.documentElement,
			       defaultFontSize = adapt(designWidth, rem2px),
			       resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
			       recalc = function() {
			           var clientWidth = win.innerWidth
			                        || doc.documentElement.clientWidth
			                        || doc.body.clientWidth;
			
			           if (!clientWidth) return;
			           if (clientWidth < 750) {
			               docEl.style.fontSize = clientWidth / designWidth * rem2px / defaultFontSize * 100 + '%';
			
			           } else {
			               docEl.style.fontSize = '625%';
			           }
			       };
			    if (!doc.addEventListener) return;
			    win.addEventListener(resizeEvt, recalc, false);
			    doc.addEventListener('DOMContentLoaded', recalc, false);
			
			})(document, window, 750, 100);
		</script>

这个比例为1rem = 100px


记录一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值