规范目的 为提高前端团队开发效率,输出高质量的前端页面代码,提高UI设计还原度,特编写该规范文档.本文档如有不对或者不合适的地方请及时提出. JS代码块 (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth =…
涉及到的一些名词, 详细解释可参考 移动端适配前篇--移动端适配 rem 名词解释 [英寸Inch]英寸表示屏幕斜对角线的长度 [像素Pixel]像素是图像的基本采样单位,它不是一个确定的物理量,因为像素点的物理大小是不确定的 [分辨率]分辨率是屏幕像素的数量,一般用屏幕宽度的像素点乘以屏幕高度的像素点.如描述iphone6的分辨率是750*1334. 分辨率又分为[物理分辨率]和[逻辑分辨率],值得注意的是实际工作中设计师常常给的是物理分辨率,程序中用到的是逻辑分辨率,但是都称为分辨率,容易混…
1. 问题的引出 如果html5要适应各种分辨率的移动设备,应该使用rem这样的尺寸单位,同时给出了一段针对各个分辨率范围在html上设置font-size的代码: html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font-size:11px}} @media screen and (min-width:376px) and (max-width:414px){html{fon…
移动端适配一直都是个大问题,现在也出现了各种各样的解决方案,比如 rem, vw 百分比等,但是比较成熟的切比较容易编写的还是 rem,他是相对于根元素的 font-size 进行等比例计算的. 但是我们在编写css的时候,需要计算每一个元素相对于根元素的rem值是多少.会比较麻烦,并且维护起来也不方便.那么社区也出现了各种解决方案. 早期的解决方案是利用 sass 或者less编写函数进行自动转换.到后来淘宝的lib-flexible,再到现在的 postcss,都是为了编写的时候写的是px,…
! function() { var style = document.createElement("STYLE"), docEl = document.documentElement, header = document.getElementsByTagName("HEAD")[0], viewport = document.createElement("meta"), dpr = 0, isAndroid = navigator.appVer…
rem适配 <meta name="viewport"  content="width=device-width,user-scalable=no"/> <script> (function(){ var html=document.documentElement; var hWidth=html.getBoundingClientRect().width; html.style.fontSize=hWidth/16+"px&quo…
移动端适配一般我会使用rem进行适配,大致操作就是按照一定尺寸设计稿进行制作,最后将所有px值转换为rem,但是一些手机背景精灵图(cssSprite)就会出现一些误差(1px左右),如果公司要求不高倒也无所谓,但是我不能忍啊. 方法就是利用background-position百分比值替换rem值 要想得到定位的百分比值(n m),我们需要 元素的宽高(w h), sprite图的宽高(k g),我们需要显示icon的坐标(x y),公式如下: 1 n = -x / (w-k) * 100%…
1,先看看网上关于移动端适配讲解 再聊移动端页面适配,rem和vw适配方案! 基础点:rem相对根节点字体的大小.所以不用px; 根字体:字体的大小px; px:你就当成cm(厘米)这样的东西吧: 基准:750设计稿: 这是方案的基础理论,在这个基础上,我们还要搞明白,到底要干一件什么事情! 目标一 .手机适配:就是页面上的尺寸,无论高度,还是宽度,还有字体,随屏幕的宽度变化!这里是屏幕宽度!是不是想到了vw,对,就是这个意思:--最大程度在各个尺寸屏幕上还原设计稿 目标二.px转换成rem:一…
移动端适配的相关概念以及几种方案总结 适配相关概念 布局视口(layout viewport):html元素的上一级容器即顶级容器,用于解决页面在手机上显示的问题.大部分移动设备都将这个视口分辨率设置为980px,所以PC上的网页基本上能在手机上呈现,只不过看上去很小,一般默认可以通过手动缩放网页.获取当前布局视口用document.documentElement.clientWidth 视觉视口(visual viewport):指用户可见页面区域,即屏幕显示器的物理像素.获取当前的视觉视口可…
首先设置meta属性,如下代码: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 使用如下代码就能实现移动端的适配: html { font-size: -webkit-calc(13.33333333vw); font-size: calc(13.33333333vw); } 100vw相当于浏…