如何根据设计图设计rem比例

本文探讨了PC端和移动端网站在屏幕尺寸、内容展示及响应性上的区别,并重点讲解了rem单位在网页布局中的应用,包括计算公式、设计比例和优势,如自适应字体大小、兼容性和精确适配。

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

pc端和移动端网站的区别

PC端:屏幕尺寸大,显示内容多,结构复杂,缩小浏览器窗口,页面内容结构并不会发生改变,也并不是响应式。

移动端:屏幕尺寸小,显示的内容有限,结构清晰,简洁,设备种类繁多,浏览器窗口随着移动端的屏幕大小而自适应大小,

rem的概念

rem:相对于根元素(即 html 元素)font-size 计算值的倍数。

  • rem布局的本质是等比缩放,一般是基于宽度针对设计稿的宽度 利用js动态获取屏幕的宽度

  • rem是相对于根元素的字体大小的单位,也就是html的font-size大小,浏览器默认的字体大小是16px,所以默认的1rem=16px

我们可以根据设备宽度动态设置根元素的font-size,使得以rem为单位的元素在不同终端上以相对一致的视觉效果呈现。

如何根据设计图设计rem比例

rem中的核心公式

document.documentElement.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px';

// document.documentElement.style.fontSize 
// html的字体大小
// document.documentElement.clientWidth / 7.5 + 'px'
//           可视窗口的大小        除于 设计图的宽度除于100  +px

这串代码的效果为

根据屏幕的宽度来改变根元素的字体大小 从而达到对不同的设备进行适配

假如我们的设计稿宽度为750px 使用rem

document.documentElement.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px';

// 

1rem = 100px;
50px 可以写为 0.5rem
10px 写为 0.1rem
如果我们需要占满屏 则需要 7.5rem

为什么要使用rem

在chrome中 chrome强制字体最小值为12px,低于12px按12px处理,不会出现更小的字体,但是使用rem没有这个限制 通常1rem=100px

通过动态根font-size来做适配,基本无兼容性问题,适配较为精准,换算简便

rem的完整代码
 (function (doc, win) {
        var docEl = doc.documentElement,
            resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
            recalc = function () {
                var clientWidth = docEl.clientWidth;
                if (!clientWidth) return;
                if(clientWidth>=640){
                    docEl.style.fontSize = '100px';
                }else{
                    docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
                }
            };

        if (!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener('DOMContentLoaded', recalc, false);
    })(document, window);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值