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
-- 为移动设备添加 viewport --> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable
可以使用动态REM方案。 # 2 原理 在使用单位控制页面元素大小时,可以使用固定单位px,也可以使用相对单位rem。2rem 等于html标签font-size的2倍。...基于这个原理,对于需要适配屏幕等比缩放的元素可以选用rem作为单位,对于不需要等比缩放的元素依旧使用px作为单位。...如果选100,设计稿中某个元素标注的尺寸是375px,我们可以很快速的计算出3.75rem。...如果html的font-size 设置为 50*屏幕宽度/设计稿宽度,那么div的宽度就应该是7.5rem了。换算起来就没那么直观了。 # 3 适配代码 <!...; /* 需要随屏幕等比缩放,使用rem单位,比如设计稿中标注的32px这里写成0.32rem */ border: 1px solid #ccc; /*不需要缩放的部分用px*/
移动端页面rem 写移动端页面最麻烦的是什么,不同分辨率的适配!...,因为调大字体时并不能调大图标的大小 四、Rem布局方案 rem+js方案,同时还要解决noscript问题,解决字体问题,解决屏幕过宽问题 html代码如下 [html] view plain...; /* 防止页面过宽 */ outline: 1px dashed green; } /* js被禁止的回退方案 */ @media screen and (min-width...1px solid #d6e9c6; padding: 3px 5px; background: #dff0d8; color: #3c763d; } /* js...*/ } js代码如下 [html] view plain copy var documentElement = document.documentElement; function callback
前言 根据 W3C 规范中对 1rem 的定义: 1rem 与等于根元素 font-size 的计算值。当明确规定根元素的 font-size 时,rem 单位以该属性的初始值作参照。...0.75rem; //12÷16=0.75(rem) } 使用rem这个字体单位进行适配,就是利用它作为一个全局字体固定参照单位的特性。...rem适配具体实现方案: 设计稿尺寸宽度为750px,如果设计稿是640px,下边js会自动计算rem的值(比如rem:75px -> rem: 64px),具体的尺寸rem不用调整(例如 padding...: 1.5rem,不用调整,这是一个比例大小),对应的元素大小px值会根据新的rem(比如rem: 64px, padding等于 1.5 * 64)改变,从而按照比例适配。...= width / 10; docEl.style.fontSize = rem + 'px'; flexible.rem = win.rem = rem;
1 /** 2 * 移动端自适应 3 */ 4 <meta name="viewport" 5 content="width=device-width,user-scalable...--maximum-scale=1.0 可视区域的放大级别--> 1 /** 2 * <em>rem</em>适配 iPhone5下html字号为100px,320px下1<em>rem</em>=100px
移动端的布局相对PC较为简单,关键在于对不同设备的适配。之前介绍了一篇关于移动端rem布局方案,这大致是网易H5的适配方案。不过实践中发现淘宝开源的可伸缩布局方案效果更好且更容易使用。...此时我们从图中若某个标注为100px,那么css中就应该设置为100/75 = 1.333333rem。所以为了提高开发效率,可以使用px转化为rem的插件。...如果你使用sublimeText,可以用 rem-unit ?...纵向的单位可以全部使用px,横向的使用rem,因为移动设备宽度有限,而高度可以无限向下滑动。.../src/js/*.js', function() { 73 gulp.src(['.
setSize(); }(window, document) html 的 size = (设备的宽度 / 设计稿的尺寸) * 100% 比如设计稿是750px,有个按钮是 590px 换算之后就是 5.9rem
rem介绍 rem(font size of the root element)是指相对于根元素(即html元素)的字体大小的单位。...假设根元素的字体大小是10px, 则5rem的大小为 5*10=50px,例如 html{ font-size: 10px; } p{ width: 2rem; /* 2*10 = 20px...如果用rem来页面,我们会根据不同的设备宽度在根元素上设置不同的字体大小。宽度越宽,字体越大。然后对原本使用px的地方使用rem来替换。这样,字体大小,内容尺寸,对随着屏幕宽度的变大而变大。...为了能将设计稿中的 px 方便的转换为页面中 rem,我设置 1rem 为 宽度为 640px 的设计稿中的 100px。...在上一步中,1rem 为此时设计稿中 100px 的值。屏幕的宽度也就是 (640 / 100) = 6.4rem。
3.1 JS计算 通过JavaScript读取屏幕宽度,然后根据宽度计算出对应的尺寸并设置根元素的font-size。...使用JS来获取屏幕宽度的好处在于可以100%适配所有的机型宽度,因为其元素的基准尺寸是直接算出来的。...更加详细的实现,感兴趣的同学可以看这片文章:Rem自适应js-优化flexible.js。...4. rem存在的问题 rem作为一种简单粗暴解决不同屏幕下视图的区别的一种方案,它可以解决本文出现的问题以及绝大多数移动端适配屏幕尺寸的问题。...而rem用在字号时,使字号在不同屏幕上的绝对尺寸不一致,违背了设计哲学。 大家感兴趣还可以移步结一老师的文章:rem不是神农草,治不了移动端百病。 5.
第一步 安装px转rem的插件 npm i lib-flexible postcss-px2rem --s 在根目录添加postcss.config.js文件 module.exports = { plugins...: 2 // rem的小数点后位数 } } }; 在main.js添加 import 'lib-flexible/flexible' px2rem插件安装完成 第二步 安装vant vant文档...npm i vant -S //安装vant npm i babel-plugin-import -D //按需引入 修改 babel.config. js文件 module.exports = {...这里有个坑,px2rem会把第三方库也跟着转成了rem 卸载之前的postcss-px2rem npm uninstall postcss-px2rem --save-dev 安装postcss-px2rem-exclude...npm install postcss-px2rem-exclude --save 将之前新建的postcss.config.js重新替换掉 module.exports = { plugins:
rem布局(进阶版) 该方案使用相当简单,把下面这段已压缩过的 原生JS(仅1kb,源码已在文章底部更新,2017/5/3) 放到 HTML 的 head 标签中即可(注:不要手动设置viewport...,该方案自动帮你设置),此方案仅适用于移动端web !...(老方案是,屏幕越大元素越大;此方案是,屏幕越大,看的越多) 有效解决移动端真实1px问题(这里的1px 是设备屏幕上的物理像素) 如何使用 绝不是每个地方都要用rem,rem只适用于固定尺寸!...我们知道,高清方案的特点就是几乎完美还原效果图,也就是说,你写了一个宽度为 7rem 的元素,那么在目前主流移动设备上都是7rem。然而,iphone 5 的宽度为640,也就是6.4rem。...3.问:不是 1rem = 100px吗,为什么我的代码写了一个宽度为3rem的元素,在电脑端的谷歌浏览器上宽度只有150px?
3.1 JS计算 通过JavaScript读取屏幕宽度,然后根据宽度计算出对应的尺寸并设置根元素的font-size。...使用JS来获取屏幕宽度的好处在于可以100%适配所有的机型宽度,因为其元素的基准尺寸是直接算出来的。...既然是JS代码,为了避免造成因为动态设置元素的font-size而造成页面抖动,一般这部分代码我们放在header底部去加载,并内联到html文档里面。...更加详细的实现,感兴趣的同学可以看这片文章:Rem自适应js-优化flexible.js。...4. rem存在的问题 rem作为一种简单粗暴解决不同屏幕下视图的区别的一种方案,它可以解决本文出现的问题以及绝大多数移动端适配屏幕尺寸的问题。
一、安装 npm install px2rem-loader lib-flexible --save 二、入口文件main.js加上 import ‘lib-flexible/flexible.js’...device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 四、在build下的 utils.js...中加上 const px2remLoader = { loader: ‘px2rem-loader’, options: { remUnit: 37.5 } } 更多内容请见原文,原文转载自:https
rem 认识 优点: 可以适应不同大小的屏幕 使用px或者百分比布局不能实现: px单位时绝对单位 百分比布局是宽度自适应,高度固定的 rem使用 rem使用时需要配合: 媒体查询 flexible.js...(推荐使用⭐) rem 单位 相对单位 相对于HTML标签的字号计算结果 1 rem = 1 HTML字号大小 媒体查询 作用 能够检测视口宽度,根据不同的视口宽度设置不同的html字号大小 HTML...html { font-size: 37.5px; } } .box { width: 2rem...; height: 0.7733rem; background-color: green; } .../js/flexible.js">
; 2.3、vm/vh vw :视口宽度的 1/100;vh :视口高度的 1/100 —— MDN 在pc端,视口宽高就是浏览器得宽高; 在移动端,这个还不太一样,不过一般设置: <meta name...三、剖析rem布局原理 其实好好理解上面的概念,rem的原理也就很简单了。...对,css不是有相对单位rem么?我们全可以实现借助rem代替上面的a。...*/ 我们用js很容易动态的设置html的font-size恒等屏幕的1/10;我们可以在页面dom ready、resize和屏幕旋转中设置: document.documentElement.style.fontSize...五、rem布局方案 从上可以看出最好的弹性布局方案就是rem+js的方案,《Flexible实现手淘H5页面的终端适配》就是采用rem+js实现的。flexible主要做了几点。
前面几篇移动端专区博文简单介绍了移动端的概述,以及简单的适配方案,百分比适配,比例缩放适配,viewport适配等,但是难免都有一些各种问题!...这次这个rem终极适配方案,是目前移动端的较为完美的适配方案!...=20px 那么这个px转rem怎么进行转换 可以使用rem简单搞定!...less文件 @rem:20rem; .box{ width:180/@rem; height:245/@rem; background-color: hotpink; } 在iphone5...下,1/16代表20px,那么在less文件中的声明的rem变量就为20rem(代码需要设置的像素/这个20px),width:180/@rem,在iphone6下显示为宽度180px,则自动换算对于rem
兼容性:在移动端 iOS 8 以上以及 Android 4.4 以上获得支持 可以去 Can I use 或 css3test 查看兼容情况 三、REM布局 讲的太乱了?...width: px2rem(200); 基于此,可以使用SCSS来提供一系列的基础支持 /* 移动端页面设计稿宽度 */ $design-width: 750; /* 移动端页面设计稿dpr基准值 */...可以考虑比较新的VW布局,无需使用JS,虽说在移动端 iOS 8 以上以及 Android 4.4 以上才获得支持,不过还是值得一用的。...将页面宽度进行分块(只是为了防止值太大) /* 移动端页面设计稿宽度 */ $design-width: 750; /* 移动端页面设计稿dpr基准值 */ $design-dpr: 2; /* 将移动端页面分为...在scss基础部分还可以自定义这几个值(如果是REM布局的,修改这些值还需要在rem.js 文件中同步修改) /* 移动端页面设计稿宽度 */ $design-width: 750; /* 移动端页面设计稿
今天,我们使用Vue CLI3 做一个移动端适配 。 前言 首先确定你的项目是Vue CLI3版本以上的。...一、移动端适配包 1、安装移动端适配包 npm i lib-flexible -S 2、在main.js引入适配包 import Vue from ‘vue’ import App from ‘....-- 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
//判断是手机端还是pc端 function isPc(){ if(window.navigator.userAgent.match(/(phone|pad|pod...MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) { return true; // 移动端...}else{ return false; // PC端 } }
领取专属 10元无门槛券
手把手带您无忧上云