如何设置html的fontsize使得页面元素的大小随屏幕的宽度或高度变化
效果图:(可以看到顶部的菜单栏在跟随页面大小而变化)
代码如下 :(在首页加入这段代码,然后使用 rem 设置元素的属性)
注意:之前自己使用的一段代码虽然也设置html字体大小,但是 rem 使用的还是 html的默认字体大小,也就是16px,此时rem没起作用。所以如果出现 rem 不起作用,可以试一下下面的代码。
<script>
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
</script>