使用rem设置移动端页面尺寸

本文介绍了rem单位在移动端页面设计中的应用,探讨了移动端特点,对比了px和em,并提供了rem的代码示例和通过js动态调整html font-size的方法,以实现响应式布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、移动端的特点

  • 设备尺寸不同;
  • 可以通过设置百分比解决;
  • 设置百分比计算繁琐。

二、单位概述

  • px:像素;
  • em:相对于 父级 的font-size值的几倍;
  • rem:相对于 html标签 的font-size值的几倍。

em代码示例:

.em {
	font-size: 10px;
}
.em-box {
	width: 10em;
	height: 10em;
	background-color: red;
}

<div class="em">
	<div class="em-box"></div>
</div>

当父元素em的font-size为10px时:

.em {
	font-size: 10px;
}

在这里插入图片描述
当父元素em的font-size为30px时:

.em {
	font-size: 30px;
}

在这里插入图片描述
rem代码实例:

.rem {
	font-size: 10px;
}
.rem-box {
	width: 10rem;
	height: 10rem;
	background-color: yellow;
}

<div class="rem">
	<div class="rem-box"></div>
</div>

当父元素font-size为10px时,我们发现rem-box的大小与它无关。
html为默认font-size时:
在这里插入图片描述
html的font-size为20px时:
在这里插入图片描述
注意:html的font-size:20px时,1rem代表20px;10rem代表200px。

三、rem单位的应用

通过js文件,根据浏览器的视窗宽度设置html元素的fontsize值

在meta标签后面link标签前面,嵌入script标签,js代码如下:

(function (win, doc) {
        if (!win.addEventListener) return;
        var html = document.documentElement;

        function setFont() {
            var html = document.documentElement;
            var k = 750;
            html.style.fontSize = html.clientWidth / k * 100 + "px";
        }

        setFont();
        setTimeout(function () {
            setFont();
        }, 300);
        doc.addEventListener('DOMContentLoaded', setFont, false);
        win.addEventListener('resize', setFont, false);
        win.addEventListener('load', setFont, false);
    })(window, document);

若设计稿是750px,浏览器视窗为750px, 那么html的font-size为100px,则 100px = 1rem
测量出100px,则设置为1rem;
测量出75px,则设置为0.75rem;
测量出750px,则设置为7.5rem。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值