移动端布局(三) rem布局及原理

rem适配两种方案——实战篇 用屏幕总宽度/划分等份数=html字体大小1rem=html字体大小页面元素rem计算公式:页面元素的px / html字体大小。 阅读详情

什么是rem

首先来了解一下什么是em:
作为font-size的单位时,其代表父元素的字体大小,em作为其他属性单位时,代表自身字体大小。

s1、s2、s5、s6的font-size和line-height分别是多少px?

<div class="p1">
    <div class="s1">1</div>
    <div class="s2">1</div>
</div>
<div class="p2">
    <div class="s5">1</div>
    <div class="s6">1</div>
</div>
.p1 {font-size: 16px; line-height: 32px;}
.s1 {font-size: 2em;}
.s2 {font-size: 2em; line-height: 2em;}

.p2 {font-size: 16px; line-height: 2;}
.s5 {font-size: 2em;}
.s6 {font-size: 2em; line-height: 2em;}

比起到处写死的px值,em似乎更有张力,改动父元素的字体大小,子元素会等比例变化。

有些人提出用em来做弹性布局页面,但其复杂的计算让人诟病,甚至有人专门做了个px和em的计算器,不同节点像素值对应的em值。
在这里插入图片描述
em做弹性布局的缺点还在于牵一发而动全身,一旦某个节点的字体大小发生变化,那么其后代元素都得重新计算。

rem:
作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小

/* 作用于根元素,相对于原始大小(16px),所以html的font-size为32px*/
html {font-size: 2rem}

/* 作用于非根元素,相对于根元素字体大小,所以为64px */
p {font-size: 2rem}

rem有rem的优点,em有em的优点,em就是为字体和行高而生的,有些时候子元素字体就应该相对于父元素,元素行高就应该相对于字体大小;而rem的有点在于统一的参考系。

Rem布局原理

rem布局的本质是什么?这是我问过很多人的一个问题,但得到的回答都差强人意。

其实rem布局的本质是等比缩放,一般是基于宽度,试想一下如果UE图能够等比缩放,那该多么美好啊

假设我们将屏幕宽度平均分成100份,每一份的宽度用x表示,x = 屏幕宽度 / 100,如果将x作为单位,x前面的数值就代表屏幕宽度的百分比

p {width: 50x} /* 屏幕宽度的50% */

如果要页面元素随着屏幕宽度等比缩放,我们需要上面的x单位,css中没有这个单位,但是通过rem这个桥梁可以实现x。

/* 子元素设置rem,通过改变html元素的字体大小,可以使子元素的实际大小发生改变*/
html{font-size: 16px}
p{width: 2rem} /* 32px */

html {font-size: 32px}
p {width: 2rem} /* 64px */

如果让html元素字体大小,恒等于1/100,那1rem和1x就等价了

/*
width / 100 就是让屏幕分成100等份,1份在屏幕宽度里是多少。
*/
html{font-size: width / 100} /* 子元素1rem就是屏幕宽度的1% */
/* 
50rem = 50x = 屏幕宽度的50%  rem就相当于上面的x单位 1rem就是1% 
*/ 
p{width: 50rem} 

通过js设置,可以让font-size一直恒等于1/100,一般需要在页面dom ready、resize和屏幕旋转中设置。

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

将UE图中元素像素单位值转换为rem值:
元素宽度 / UE图宽度 *100
假设UE图尺寸是640px,UE图中的一个元素宽度是100px,根据公式100/640 *100 = 15.625rem。

100/640就知道100宽度占UE图宽度的百分之几 0.15625在乘以100就是15.625%就是15.625rem(rem就相当于是百分比单位)

p{width: 15.625rem} 
/*
100px的元素占屏幕宽度的15.625%,因为ui的尺寸是以iphone5(高清屏)
为基准并且使用的是物理像素,而我们使用的是css像素,dpr为2,
占满屏幕实际只要设置320px个css像素就行了,
因此这里设置50px其实就是100个物理像素,因此这里应该还要除以2才对
15.625 / 2;
*/

看到这里,实际上你也可以想到用百分数来代替rem,你可以直接设置元素15.625%也可以,每次都通过公式计算百分比,然后直接将视口设置为设备宽度这样html元素会等于设备宽度即可。

<meta name="viewport"   content="width=device-width, initial-scale=1">

比rem更好的方案:

css引入vw、vh
vw —— 视口宽度的 1/100;vh —— 视口高度的 1/100
可以看出vw就是上面所述的x,1vw就是屏幕的1%,有了vw可以不用计算font-size值
下面的方案是等价的,可以看到vw比rem更简单,毕竟rem是为了实现vw么

/* rem方案 */
html {fons-size: width / 100}
p {width: 15.625rem}

/* vw方案 */
p {width: 15.625vw}

/* vw还可以和rem方案结合,这样计算html字体大小就不需要用js了 */
html {fons-size: 1vw} /* 1vw = width / 100 */
p {width: 15.625rem}

vw的缺点:
首先是兼容性问题:
在这里插入图片描述
另外,在使用弹性布局时,一般会限制最大宽度,比如在pc端查看我们的页面,此时vw就无法力不从心了,因为除了width有max-width,其他单位都没有,而rem可以通过控制html根元素的font-size最大值,而轻松解决这个问题

Rem不是银弹

rem是弹性布局的一种实现方式,弹性布局可以算作响应式布局一种,但响应式布局不是弹性布局弹性布局强调等比缩放,100%还原,响应式布局强调不同屏幕有不同的显示,比如媒体查询。

rem适用的地方:
一般内容型的网站不适合用rem,因为大屏用户可以选择自己选择是需要更大的字体,还是更多的内容,一旦使用了rem,就剥夺了用户的自由,比如百度知道,百度经验都没有使用rem布局;
一些偏向app类的,图标类的,图片类的,比如淘宝,活动页面,比较适合使用rem,因为调大字体时并不能调大图标的大小;

rem存在的问题:
首先是字体问题,字体大小并不能使用rem,字体的大小和字体宽度,并不成线性关系,这个函数我还没算出来,所以字体大小不能使用rem。

由于设置了根元素字体的大小,会影响所有没有设置字体大小的元素,因为字体大小是会继承的,难道要每个元素都显示设置字体大小???
解决办法:
可以再body上做字体修正,将body设置为16px,但用户自己设置的字体大小会失效,可以再body上做字体修正,将body设置为16px,但用户自己设置的字体大小会失效。

html{font-size: width / 100}
body{font-size: 16px}

实现响应式字体:
可以通过修改body的字体大小来实现,同时所有设置字体大小的地方都用em。

@media screen and (max-width:320px){
body{font-size:16px}
}
@media screen and (min-width:481px) and (max-width:640px){
body{font-size:18px}
}
@media screen and (min-width: 641px){
body{font-size:20px}
}
p{font-size:1.2em}
p,a{font-size:1.2em}

第二,如果用户在PC端浏览,页面过宽怎么办?一般我们会设置一个最大的宽度,大于这个宽度的话页面居中,两边留白。

var clientWidth = document.documentElement.clientWidth;
clientWidth = clienWidth < 780 ? clientWidth : 780;
document.documentElement.style.fontSize = clientWidth / 100 + 'px';

第三,如果用户禁用了js怎么办?其实这种用户真不多了,要不放弃吧。。。
首先可以添加noscript标签提示用户:

<noscript>开启JavaScript,获得更好的体验</noscript>

给html添加一个320时的默认字体大小,保证页面可以显示

html {fons-size: 3.2px}

如果你想要更好的体验,不如添加媒体查询吧

@media screen and (min-width: 320px) {
    html {font-size: 3.2px}
}
@media screen and (min-width: 481px) and (max-width:640px) {
    html {font-size: 4.8px}
}
@media screen and (min-width: 641px) {
    html {font-size: 6.4px}
}

rem不是银弹,这个世上也没有银弹,每个方案都有其优点,也有其缺点,学会做出选择和妥协,rem仅能做到内容的缩放,但是对于非矢量资源,比如图片放大时的失真,并无法解决。

Rem布局方案

通过上面可以得出实现缩放布局,共有四种方案

rem+media-query rem+js rem+vw vw

但是上面的方案还有个问题,就是分成100份的话,假设屏幕宽度320,此时html大小是3.2px,但浏览器支持最小字体大小是12px,怎么办?那就分成10份呗,只要把上面的100都换成10就好了。

下面给一个rem+js方案的完整例子,css的计算没有使用预处理器,这个很简单
html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

    <title>rem布局——rem+js</title>
</head>
<body>
    <noscript>开启JavaScript,获得更好的体验</noscript>
    <div class="p1">
        宽度为屏幕宽度的50%,字体大小1.2em
        <div class="s1">
            字体大小1.2.em
        </div>
    </div>

    <div class="p2">
        宽度为屏幕宽度的40%,字体大小默认
        <div class="s2">
            字体大小1.2em
        </div>
    </div>
</body>
</html>

css代码如下:

html {
    font-size: 32px; /* 320/10 */
}
body {
    font-size: 16px; /* 修正字体大小 */
    /* 防止页面过宽 */
    margin: auto;
    padding: 0;
    width: 10rem;
    /* 防止页面过宽 */
    outline: 1px dashed green;
}

/* js被禁止的回退方案 */
@media screen and (min-width: 320px) {
    html {font-size: 32px}
    body {font-size: 16px;}
}
@media screen and (min-width: 481px) and (max-width:640px) {
    html {font-size: 48px}
    body {font-size: 18px;}
}
@media screen and (min-width: 641px) {
    html {font-size: 64px}
    body {font-size: 20px;}
}

noscript {
    display: block;
    border: 1px solid #d6e9c6;
    padding: 3px 5px;
    background: #dff0d8;
    color: #3c763d;
}
/* js被禁止的回退方案 */

.p1, .p2 {
    border: 1px solid red;
    margin: 10px 0;
}

.p1 {
    width: 5rem;
    height: 5rem;
    font-size: 1.2em; /* 字体使用em */
}

.s1 {
    font-size: 1.2em; /* 字体使用em */
}

.p2 {
    width: 4rem;
    height: 4rem;
}
.s2 {
    font-size: 1.2em /* 字体使用em */
}

js代码如下:

var documentElement = document.documentElement;
function callback() {
    var clientWidth = documentElement.clientWidth;
    // 屏幕宽度大于780,不在放大
    clientWidth = clientWidth < 780 ? clientWidth : 780;
    documentElement.style.fontSize = clientWidth / 10 + 'px';
}

document.addEventListener('DOMContentLoaded', callback);
window.addEventListener('orientationchange' in window ? 'orientationchange' : 'resize', callback);

总结:
移动端rem布局原理就是
将屏幕分成100等份,让元素随着屏幕的变化而等比缩放。以某个设
备为标准,计算元素占据屏幕百分之几。
比如ui以iphone6为标准,设计图是375(如果设计图是750,最后计算的结果还要除以2)的屏幕宽度,那么375的1%就是375 / 100 = 3.75 将其设置为根元素的font-size值,子元素设置尺寸为rem,这样子元素1rem就是屏幕的1%,如何转换为rem,因为1rem就是屏幕的1%,所以我们就要计算元素的宽度占用屏幕宽度的百分之几。因此100 / 375 = 26%.666; 转换为rem就是26.666%。

根据上面可以得出公式:

document.documentElement.fontSize = "width / 100"; /* 相对于屏幕的1% */
元素rem = 元素的宽度 / ui图宽度 * 100 /* 计算元素占用屏幕的百分之几 */

转载于: https://yanhaijing.com/css/2017/09/29/principle-of-rem-layout/ 颜海镜博客

移动端rem布局实例 逆战班学生记录: rem理解: em是一个相对单位,1em等于当前元素或父元素的font-size值 rem是指相对于根元素的字体大小的单位。简单的说它就是1个html标签的font-size大小。 rem的布局 原理: 先根据设计图量取高度,想办法动态改变html标签的font-size大小,然后转换成rem,从而适配不同设备进行等比例缩放。这里如何使font-size动态化?我采用通过vw(... 阅读详情

相关推荐

移动端REM布局实战Demo参考项目

尽管 REM 技术看似简单,但在真实项目中仍面临诸多细节挑战,尤其是在字体精度、兼容性和性能方面。

weixin_36197669的博客 821

移动WEB开发之-REM(rem)布局

目录 移动WEB开发之REM布局 rem基础 rem单位 媒体查询 什么是媒体查询 媒体查询语法规范 1.mediatype 查询类型 2.关键字 3.媒体特性 4.媒体查询书写规则 less 基础 维护css弊端 Less 介绍 Less 嵌套 Less 运算 rem适配⽅案 rem实际开发适配⽅案 总结: 苏宁⾸⻚ 1、 技术选型 2、搭建⽂件结构 3、设置视⼝标签以及引⼊初始化样式 4、设置公共common.less⽂件 移动WEB开发之REM布局

m0_60237095的博客 5465

rem布局原理解析

移动端的屏幕大小各异,尤其是安卓机,千奇百怪,各种尺寸的机型都有,而且有1倍屏,2倍屏,3倍屏之分,作为精益求精的前端,我们希望找到一种完美适配各种机型的方案。rem是现在主流的移动端自适应布局方案,本文主要介绍了rem布局的原理和通用方案 原理 首先说一下,我们想要达到的自适应效果是什么。很简单:元素、字体大小能随着屏幕大小(一般相对于宽度来说)变化而变化,在大一点的屏幕上,尺寸大一些;在小一点的屏幕上,尺寸小一些;尺寸的大小和屏幕大小成正比。 最简单最直接的方案就是直接用百分比设置元素的尺寸。我们用百分比设置元素大小可以实现元素尺寸的自适应,但是无法实现字体大小的自适应,而且尺寸转化为百

rem布局

rem布局就是让页面中的元素可以做到自适应,当设备大小发生改变时,等比例适配当前的设备。页面元素使用rem做尺寸单位。

2301_79093124的博客 1409

王道考研计算机网络课件全解析:从零搭建你的知识框架(附B站视频+PPT下载)

本文全面解析王道考研计算机网络课程的核心知识体系,从OSI七层模型到TCP/IP四层架构,详细讲解物理层、数据链路层、网络层、传输层和应用层的关键技术。提供高效学习路径、实战案例和常见误区警示,帮助考生系统构建计算机网络知识框架,适合计算机考研备考者参考学习。

leaf8的博客 564

示波器实测RGMII信号:从125MHz时钟判断千兆模式,到时序抓取与PHY寄存器避坑

本文详细介绍了使用示波器实测RGMII信号的完整流程,包括125MHz时钟频率判断、时序参数测量及PHY寄存器配置避坑指南。通过实战操作和典型故障案例分析,帮助硬件工程师快速定位和解决千兆以太网接口的调试问题,提升通信稳定性。

weixin_30015371的博客 260

Web前端-移动web开发_rem布局

媒体查询(Media Query)是CSS3新语法。使用 @media查询,可以针对不同的媒体类型定义不同的样式@media 可以针对不同的屏幕尺寸设置不同的样式当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面目前针对很多苹果手机、Android手机,平板等设备都用得到多媒体查询媒体查询主要用于页面的响应式设计Less(LeanerStyle Sheets 的缩写)是一门 CSS扩展语言,也称为CSS预处理器。

apple_73204060的博客 3220

Qt QWebEngine实战:手把手教你将Vue3/React前端项目嵌入C++桌面程序

本文详细介绍了如何利用Qt的QWebEngine模块将Vue3/React前端项目无缝嵌入C++桌面程序,实现现代前端框架与原生C++的深度整合。通过环境准备、项目架构设计、前端适配、Qt端集成、双向通信建立及性能优化等步骤,开发者可以高效构建兼具Web灵活性和本地系统能力的混合应用。

weixin_28736355的博客 390

移动端适配实战:从视口解析到vw/rem最佳实践

本文深入探讨移动端适配的核心技术与实践,从视口机制解析到rem/vw方案的最佳实践。详细介绍了三重视口模型、动态rem计算、vw单位优势及混合方案,帮助开发者解决多设备屏幕适配难题,提升用户体验和页面性能。

weixin_29001655的博客 148

Sigrity Power DC Single-BoardPackage IR Drop Analysis模式进行单板压降仿真分析操作指导

如果需要单独对某个via设置参数,右侧选择Setup by padstack,下方下拉选择某个via,单独设置参数即可。举例:板厚1.6mm,内层1OZ(1.2mil,即0.03mm),铜皮宽度1mm,20度温升,允许通流I为2.5A。目的是模拟实际情况,via的孔壁电镀1mil,中间是空心的,让via不完全被填充金属成为实心via。Upper/lower Tolerance:上下公差,设置为5%,也就是压降允许的范围。电流密度计算公式:J=I/A(J为电流密度,I为电流,A为横截面积)

weixin_54787054的博客 697

Vue - 解决报错 Error: Cannot find module ‘XXX\@vue\cli-service\bin\vue-cli-service.js‘(vue项目编译运行出错,启动失败)

vue报错,Error: Cannot find module ‘@vue\cli-service\bin\vue-cli-service.js‘,vue2项目启动报错,vue3项目运行出错,vue执行npm run serve报错,找不到@vue/cli-service模块,vue项目关于:Error: Cannot find module ‘D:\@vue\cli-service\bin\vue-cli-service.js‘的解决方案,vue项目跑不起来了,Vue项目报错,跑项目报错Cannot fi

🏆 前端领域优质创作者 3115

web 组大一下第二次考核

CSS 层叠与布局常见问题解析 层叠上下文问题:z-index:9999可能被z-index:1压住是因为它们处于不同的层叠上下文,子元素受父级层叠等级限制。 布局问题: 父元素塌陷:浮动子元素导致,可通过触发BFC(如overflow:hidden)或清除浮动解决 margin重叠:相邻块级元素垂直边距合并,可通过BFC或边框/内边距隔离 自适应布局:使用flex布局,通过flex-grow分配剩余空间 定位方式: relative:相对原位置偏移,保留原空间 absolute:相对于非static祖先定

2501_92542211的博客 346

多周期路径约束(set_multicycle_path )

1.由慢到快的多周期约束 如下图所示,发射时钟周期是接受时钟周期的4倍。默认情况下,按照1T原则来进行静态时序分析和布局布线的。即建立时间是在发射沿后的第一个捕获沿检查,而保持时间是同一时刻下源时钟和捕获时钟的触发边沿下检查的(建立时间检查边沿的前一个触发沿)。 但是这样导致的问题就是该路径过于苛刻,为了满足这条路径的要求,不得不放弃其他路径。或者根本没办法保证这个默认的约束。总之最终造成...

Arist. 5506

移动端rem布局基本介绍及原理

rem布局 em和rem的认识 在布局中,除了px之外,还有两个常见的单位,em和rem em: 相对于当前元素的字体大小→ 1em = 当前标签的font-size rem: 相对于根元素(html)的字体大小→ 1rem = html标签的font-size 浏览器默认的font-size的大小为16px rem布局的效果: 屏幕越大,标签就越大 屏幕越小,标签就越小 rem布局的...

weixin_45674894的博客 5742

大模型对齐的核心引擎:RLHF三阶段完整技术体系详解——从InstructGPT到ChatGPT与Claude 4.6的工程实践

RLHF从InstructGPT起步,经由ChatGPT、Claude系列的工程实践,已演变为现代大语言模型不可或缺的对齐基础设施。其三阶段流程——SFT构建基础能力基线,奖励模型将人类偏好编码为可微信号,PPO以KL约束驱动策略向偏好分布优化——构成了当代对齐技术的核心骨架。OpenAI的路线侧重于以海量人工标注和多目标奖励建模持续精细化RLHF流程,在规模与工程深度上持续推进;

nmdbbzcl的博客 1065

【20260309】【亲测可用】【异常】Get https://registry-1.docker.io/v2/: net/http: request canceled

【异常】Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection。

奶爸的编程之路,也就一周冷个三天 2万+

详解rem布局-利用rem布局实现移动端高清显示

目录 目录 一、初探rem布局 1.1 rem是什么? 1.2 rem实现新闻字体“小中大”设置 二、利用rem布局实现移动端高清显示 一、初探rem布局 1.1 rem是什么? rem是CSS3新增的一个相对单位(root em,根em)。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位...

诗渊的博客 3万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

移动端页面开发适配 rem布局原理

我们拿到的设计图一般是以640,750,1080分辨率为基准设计的,而现在的手机终端各式各样,分辨率不同,逻辑像素不同 ,适口不同,所以为了让我们的页面在每个设备上都可以良好的展示,那么就需要为这些设备做统一的处理,这个过程就称为移动端适配。需要知道的一些概念:物理像素(physical pixel)一个物理像素是显示器(手机屏幕)上最小的物理显示单元,可以理解为我们平时说的分辨率;设备独立像素(density-independent pixel)

风中追风 4991

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

场景化分析rem布局原理

vue项目适配rem布局 rem的原理将物理像素px分为一百份,每一份就是1rem,例如当你的手机是苹果6s,物理像素是375px,那么转化成rem就是37.5px。插件设置html根标签的字体属性font-size变为1rem,通过转换将css中的px转换成对应的rem。当屏幕发生大小缩放的时候,更改html下的font-size的大小,就能实现了其他标签的大小距离也随比例缩放,达到rem自适应布局。 1)安装依赖 npm i lib-flexible postcss-px2rem --save 2)删

花森酱JioJio 5867

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Rem布局的原理解析

一.什么是Rem rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小——MDN em作为font-size的单位时,其代表父元素的字体大小,em作为其他属性单位时,代表自身字体大小——MDN 从作用上可以看出,rem可以用来解决等比例缩放问题,也就是响应式问题。而em用来解决,当设置了等比缩放,字体不能很好展示,可以用em来解决字体问题。...

SunShinessx的博客 6071

移动端之rem+flexible.js布局

前言 今天粉丝涨到100了,总之感谢大家的关注! 最近在学习移动端的页面布局,用的技术方案是rem+flexible.js,这篇文章就带大家一起感受下它的魅力吧~ 一、移动端简介 1、什么是移动端布局 移动端布局,顾名思义,就是html在手机(或者ipad)上显示的页面布局。与PC端不同在于,需要适配各种移动端的不同屏幕尺寸(采用移动端布局技术方案),并且只需要处理webkit内核浏览器即可(兼容性好)。 2、视口 视口(viewport)就是浏览器显示页面内容的屏幕区域。视口分为布局视口、视

fine1998_的博客 2273

临时抱佛脚版_移动端适配布局_flex+rem+响应式

移动端的常见布局方案 文章目录 移动端的常见布局方案 一. 移动端和PC端的区别?   2. 手机屏幕的现状   2.1 视口   2.2 布局视口 layout viewport   2.2视觉视口 visual viewport   2.3理想视口 ideal viewport   3. 移动端技术解决方案   3.1移动端公共样式   3.2移

Myself's 优快云 2722

html中简述rem布局原理,rem布局原理解析

移动端的屏幕大小各异,尤其是安卓机,千奇百怪,各种尺寸的机型都有,而且有1倍屏,2倍屏,3倍屏之分,作为精益求精的前端,我们希望找到一种完美适配各种机型的方案。rem是现在主流的移动端自适应布局方案,本文主要介绍了rem布局的原理和通用方案原理首先说一下,我们想要达到的自适应效果是什么。很简单:元素、字体大小能随着屏幕大小(一般相对于宽度来说)变化而变化,在大一点的屏幕上,尺寸大一些;在小一点的屏...

weixin_29497751的博客 3823

移动端屏幕适配(Rem+js方法)

1.什么是移动端适配 在制作webapp时,一个很关键的问题就是适配各种机型不同屏幕的大小,让每种机型上的布局看起来都尽量一样。 也就是说用同一套代码在不同分辨率的手机上跑时,页面元素间的间距、留白,以及图片大小会随着变化,在比例上跟设计稿一致。 2.常见的移动端适配方法 适配方案有很多种,常见的方法有以下几种: 固定高度,宽度百分比:这种方法只适合简单、要求不高的webApp,几...

张思阳的博客 1万+

h5移动端屏幕适配方案(rem、vw)

1、概述 移动端屏幕大小不一,要使网页能自适应不同尺寸的手机屏幕,而且还要尽可能开发便捷,目前使用最多的还是rem大法,相对比较成熟,而新兴的vw方案也可以一试。 本文主要介绍了rem和vw两种方案的使用配置方式。 2、meta设置 首先移动端要设置好视口,使视口的宽度等于设备屏幕宽度,同时浏览器识别后就认为该网页是移动端网页,也就不再有点击延迟的问题了: <meta name="viewport" content="width=device-width, initial-scale=1.0, use

醉逍遥neo的博客 2万+

移动端rem布局

内容包含 less在vscode中的配置以及使用 媒体查询 rem 以rem适配制作苏宁移动端页面

qq_53575143的博客 671
上一篇: A 文档流布局以及margin:auto的原理
下一篇: css的auto值是什么意思
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值