# 1 前言 设计师交付给前端开发一张宽度为750px的视觉稿,设计稿上元素的尺寸、颜色、位置等已做过标注,要求工程师工在适配不同屏幕尺寸的设备时采用等比缩放的方案。...使用viewport缩放方案实现页面级的缩放适配。但该方案有个问题,1px的边框在大屏手机被放大后显得很粗,在小屏手机上被缩小后又显得太细。...可以使用动态REM方案。 # 2 原理 在使用单位控制页面元素大小时,可以使用固定单位px,也可以使用相对单位rem。2rem 等于html标签font-size的2倍。...基于这个原理,对于需要适配屏幕等比缩放的元素可以选用rem作为单位,对于不需要等比缩放的元素依旧使用px作为单位。...如果html的font-size 设置为 50*屏幕宽度/设计稿宽度,那么div的宽度就应该是7.5rem了。换算起来就没那么直观了。 # 3 适配代码 <!
-- 为移动设备添加 viewport --> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable
setSize(); }(window, document) html 的 size = (设备的宽度 / 设计稿的尺寸) * 100% 比如设计稿是750px,有个按钮是 590px 换算之后就是 5.9rem
前面几篇移动端专区博文简单介绍了移动端的概述,以及简单的适配方案,百分比适配,比例缩放适配,viewport适配等,但是难免都有一些各种问题!...这次这个rem终极适配方案,是目前移动端的较为完美的适配方案!...简单介绍一下这个rem适配 px 固定值,设置多少就是多少不随屏幕大小改变 em 相对于自身字体大小 font-size:12px; 1em=12px em引发问题 1.chrome浏览器下规定字体最小...=12px,5rem=60px; 首先要去设置这个html(根节点的字体大小),rem是根据这个根节点的字体大小进行适配!...当然去适配的时候这个根节点的大小如何设置才能更好适配呢?
1 /** 2 * 移动端自适应 3 */ 4 <meta name="viewport" 5 content="width=device-width,user-scalable...--maximum-scale=1.0 可视区域的放大级别--> 1 /** 2 * rem适配 iPhone5下html字号为100px,320px下1rem=100px
0.75rem; //12÷16=0.75(rem) } 使用rem这个字体单位进行适配,就是利用它作为一个全局字体固定参照单位的特性。...如果改变html元素的字体大小,rem的值也就跟着改变,对应的其他使用rem的布局尺寸,也会跟着改变,从而达到适配的目的,保证比例一致。...rem适配具体实现方案: 设计稿尺寸宽度为750px,如果设计稿是640px,下边js会自动计算rem的值(比如rem:75px -> rem: 64px),具体的尺寸rem不用调整(例如 padding...: 1.5rem,不用调整,这是一个比例大小),对应的元素大小px值会根据新的rem(比如rem: 64px, padding等于 1.5 * 64)改变,从而按照比例适配。...适配 doesn't work properly without JavaScript enabled.
rem 认识 优点: 可以适应不同大小的屏幕 使用px或者百分比布局不能实现: px单位时绝对单位 百分比布局是宽度自适应,高度固定的 rem使用 rem使用时需要配合: 媒体查询 flexible.js...(推荐使用⭐) rem 单位 相对单位 相对于HTML标签的字号计算结果 1 rem = 1 HTML字号大小 媒体查询 作用 能够检测视口宽度,根据不同的视口宽度设置不同的html字号大小 HTML...html { font-size: 37.5px; } } .box { width: 2rem...相比较媒体查询,优点: 减少代码量 适配所有类型手机 不用担心电脑显示的缩放 .box { /* 盒子大小: 宽 = 68 / 37.5...高 = 29 / 37.5 */ width: 1.8133rem; height: 0.7733rem
rem介绍 rem(font size of the root element)是指相对于根元素(即html元素)的字体大小的单位。...假设根元素的字体大小是10px, 则5rem的大小为 5*10=50px,例如 html{ font-size: 10px; } p{ width: 2rem; /* 2*10 = 20px...;*/ margin: 1rem; } rem来做适配 以前我们往往这样做页面:viewport width 设置为 device-width,然后选我们需要兼容设备的最小宽度(一般是320px...为了能将设计稿中的 px 方便的转换为页面中 rem,我设置 1rem 为 宽度为 640px 的设计稿中的 100px。...在上一步中,1rem 为此时设计稿中 100px 的值。屏幕的宽度也就是 (640 / 100) = 6.4rem。
原本可能通过百分比/媒体查询等简单手段就可以常见的适配问题,但是对于页面有复杂结构或者视觉上有特殊要求的,就需要通过其他手段来解决了。 ?...使用JS来获取屏幕宽度的好处在于可以100%适配所有的机型宽度,因为其元素的基准尺寸是直接算出来的。...4. rem存在的问题 rem作为一种简单粗暴解决不同屏幕下视图的区别的一种方案,它可以解决本文出现的问题以及绝大多数移动端适配屏幕尺寸的问题。...iOS与Android平台的适配方式背后隐藏的设计哲学是这样的:阅读文字时,可读性较好的文字字号行距等绝对尺寸数值组合与文字所在媒介的绝对尺寸关系不大。...而rem用在字号时,使字号在不同屏幕上的绝对尺寸不一致,违背了设计哲学。 大家感兴趣还可以移步结一老师的文章:rem不是神农草,治不了移动端百病。 5.
原本可能通过百分比/媒体查询等简单手段就可以常见的适配问题,但是对于页面有复杂结构或者视觉上有特殊要求的,就需要通过其他手段来解决了。 ?...这对于前端开发就开心了,什么适配都不用管,外部宽度就是牛逼的320px。典型的墨守成规、因循守旧、故步自封、抱残守缺做法,放在现在各种“大屏手机”上,用户量恐怕要分分钟损失80%。 ?...使用JS来获取屏幕宽度的好处在于可以100%适配所有的机型宽度,因为其元素的基准尺寸是直接算出来的。...4. rem存在的问题 rem作为一种简单粗暴解决不同屏幕下视图的区别的一种方案,它可以解决本文出现的问题以及绝大多数移动端适配屏幕尺寸的问题。...iOS与Android平台的适配方式背后隐藏的设计哲学是这样的:阅读文字时,可读性较好的文字字号行距等绝对尺寸数值组合与文字所在媒介的绝对尺寸关系不大。
rem布局原理深度理解(以及em/vw/vh) 一、前言 我们h5项目终端适配采用的是淘宝那套《Flexible实现手淘H5页面的终端适配》方案。主要原理是rem布局。...; 2.3、vm/vh vw :视口宽度的 1/100;vh :视口高度的 1/100 —— MDN 在pc端,视口宽高就是浏览器得宽高; 在移动端,这个还不太一样,不过一般设置: rem么?我们全可以实现借助rem代替上面的a。...所以在Flexible整个适配方案中,考虑文本还是使用px作为单位。只不过使用[data-dpr]属性来区分不同dpr下的文本字号大小。...五、rem布局方案 从上可以看出最好的弹性布局方案就是rem+js的方案,《Flexible实现手淘H5页面的终端适配》就是采用rem+js实现的。flexible主要做了几点。
一、安装 npm install px2rem-loader lib-flexible --save 二、入口文件main.js加上 import ‘lib-flexible/flexible.js’...1.0, maximum-scale=1.0, minimum-scale=1.0"> 四、在build下的 utils.js中加上 const px2remLoader = { loader: ‘px2rem-loader
height: 0.6rem; margin-right: 0.06rem; font-size: 0.48rem;...: 0.1rem; box-shadow: 0 0.05rem rgba(255, 220, 78, 0.5); }...width: 7.5rem; height: 0.85rem; margin: 0 auto;...width: 6.7rem; margin: 0 auto; margin-top: 0.4rem; font-size...0.18rem; font-size: 0.36rem; color: #df3938; text-decoration
Button } from "vant"; Vue.use(Button); 在nuxt.config.js文件进行配置 plugins: [ '@/plugins/vant' ], 安装px2rem...npm i lib-flexible -s npm i postcss-px2rem-exclude -s 在plugins文件夹新建lib-flexible.js文件 import 'lib-flexible...不设置会报错 }, '@/plugins/vant' ], build: { postcss: { plugins: { 'postcss-px2rem-exclude...': { remUnit: 75, // 设计图为750 * height remPrecision: 2, // rem的小数点后位数 exclude...: /node_modules|folder_name/i //取消vant组件css转成rem } } }, }
今天,我们使用Vue CLI3 做一个移动端适配 。 前言 首先确定你的项目是Vue CLI3版本以上的。...一、移动端适配包 1、安装移动端适配包 npm i lib-flexible -S 2、在main.js引入适配包 import Vue from ‘vue’ import App from ‘..../App.vue’ import ‘lib-flexible’ // 引入适配包 Vue.config.productionTip = false new Vue({ render: h => h(App...-- built files will be auto injected --> 二、CSS样式适配 1、安装px2rem-loader包(只适用于css样式) npm...i px2rem-loader -D 更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/119116648
实习期间主要在写微信端H5,遇到的最大问题就是适配各个不同尺寸的屏幕。公司就我自己一个前端,只能自己摸索着来。...方法1:媒体查询 这是最笨工作量最大的方法了,就是一个屏幕尺寸一个屏幕尺寸的适配,当然你没办法适配到所有的手机型号,有的手机比较奇葩,同样是5.5寸,有的矮胖,有的瘦高。...我的方法是以iphone6为准,然后向上适配5.5寸,向下适配4.7的iphone5,这个时候就能自适应市场上的一些主流屏幕,然后在对其他品牌手机挑一部分手动适配。...在很早之前找解决方案的时候就看到这篇文章了——使用Flexible实现手淘H5页面的终端适配。...简单讲就是用 js 动态改变 标签,然后用rem作为单位,因为rem就是根据font-size来做计算的,由此对不同屏幕尺寸进行适配。 神器。以后的项目应该都会使用这个方案。
但手机的屏幕是大小不一的, 在iPhone8上展示的很好的效果, 在iPhone5s上可能就完全走了样, 为了在不同尺寸的屏幕上,都有很好的展示效果, 我们需要对网页进行缩放 rem是一个很有意思的单位..., 1rem的尺寸等于html的font-size的尺寸, 也就是 html{ font-size: 100px; } 那么, 1rem就等于100px 我们可以通过屏幕的宽度, 动态改变 html...下font-size的大小, 从而实现网页的缩放 calc是一个css3自带的函数, 可以实现简单的加减乘除(可以用来取代sass的部分功能) rem与calc结合使用, 就可以用极简单的代码实现,多种屏幕的适配...(30rem / 375) 0 0 0; font-size: calc(30rem / 375); line-height: calc(30rem /...小结: rem是一个动态定义的单位, 结合css3自带的calc函数, 能让我们写一套代码, 轻松适配各种尺寸的屏幕, 另外, 写calc函数的时候, 运算符前后一定要留空格哦~
目前移动端的适配方案一般就是两种,一个是rem方案,一个就是vw的方案,本篇就是一次性讲清楚如何去运用这两种方案来解决问题。...panda-vue-template 手把手搭建vue小商城2.0 1、关于rem rem的原理什么的我就不说了,网上搜文章一搜一大把。...感兴趣可以看看我老早以前写的这篇-->手机适配问题之rem和lib-flexible,我们主要还是来谈谈如何用vw来解决这个手机适配问题。...2、安装postcss 要实现使用vw来实现移动端的适配,我们先需要安装postcss。...landscapeUnit: 'vw', landscapeWidth: 568 } } } 各参数的含义:postcss-px-to-viewport 4、小结 其实使用vw来实现移动端的适配还是比较简单的
移动web开发之rem适配布局 方案: 页面布局文字能否随着屏幕大小变化而变化 流式布局和flex布局主要针对于宽度布局,那高度如何布局?...适配方案 让一些不能等比自适应的元素,达到当设备尺寸发生改变的时候,等比例适配当前设备。...4.1 rem实际开发适配方案 按照设计稿与设备宽度的比例,动态计算并设置html根标签的font-size大小;(媒体查询) css中,设计稿元素的宽、高、相对位置等取值,按照同等比例换算为rem...为单位的值; 4.2 rem适配方案技术使用(市场主流) 技术方案一 less 媒体查询 rem 技术方案二(推荐) flexible.js rem 总结: 两种方案现在都存在...方案二更简单 4.3 rem实际开发适配方案一 rem+媒体查询+less技术 1.设计稿常见尺寸宽度 设备 常见宽度 iPhone4.5 640px iphone678 750px android
动态获取视窗高度 动态修改高清屏,0.5 (1)安装 npm install node-sass (2)编辑scss文件,运行生成css文件 node-sass a.scss b.css 利用sass和rem
领取专属 10元无门槛券
手把手带您无忧上云