移动端开发-rem

对于手机开发,适配是一个非常麻烦的事情,大家一般都是是呀百分百或者缩放来做,但是这种方法还是会导致实际效果跟设计稿差别很大。
借鉴腾讯的做法,使用先计算当前尺寸对应设计稿的1像素比例,在rem来写尺寸大小。这个方法个人到现在发现是最好的一种
只需要按照图片或者容器在设计稿的尺寸来写,就能很完美的呈现
1、在body标签之后引入下面代码

 1 //全局字体rem
 2     (function (size){
 3         //获取初始的fontsize,16为比例标准
 4         var originalSize = parseInt((window.getComputedStyle(document.documentElement,null)).fontSize);
 5         function fn(){
 6         var win_w = parseInt(document.body.clientWidth);
 7         win_w = (win_w>size)?size:win_w;
 8         var win_h = parseInt(document.body.clientHeight),
 9             html = document.getElementsByTagName(‘html‘)[0],
10             zoom=(win_w / size) / (originalSize/16) * 100;
11             html.style.fontSize = zoom + ‘px‘;
12         };
13         fn();
14         //横竖屏检测
15         function detectOtt(){
16             var ww = parseInt(window.innerWidth);
17             var hh = parseInt(window.innerHeight);
18             if(ww>hh){
19               //do something
20               //$("#horizon").show();
21             }else{
22                 //$("#horizon").hide();
23                 fn();
24             }
25         }
26         window.onresize = function(){
27              detectOtt();
28         };
29
30     })(750);

2、在css填写容器宽高时,(假设设计尺寸宽是640)直接填写图片或者设计的 尺寸值/100 + rem。(eg:图片尺寸200x100px,可以直接写width:2rem;height:1rem;)
这种方式 在不同手机下显示尺寸都是跟设计稿完美对应的,唯一需要修改的就是高度不一样,元素之间的间隔需要做修改
3、高度不一样,调整间隙可以使用媒体查询配合

时间: 2024-10-19 16:41:10

移动端开发-rem的相关文章

移动端开发rem单位

1.用js计算 <script> (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fo

移动端开发适配总结

移动端开发适配2种方案总结 针对移动端适配的方案~ 一: 第一种方案是:所有的单位使用rem来适配:首先在页面上设置html的font-size的大小:如下我项目中的设置: html { font-size: 100px; } @media(min-width: 320px) { html { font-size: 100px; } } @media(min-width: 360px) { html { font-size: 112.5px; } } @media(min-width: 400p

移动端开发备忘

这是一些移动端开发的备忘记录. <meta> 元素 <meta name=“viewport” content=“width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no”/> width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素) height:高度(数值 / device-height)(范围从223 到10,000) initial-s

优雅地进行移动端开发

对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)选取一款手机的屏幕宽高作为基准(比如 iphone6的375×667). 2)对于高清屏幕,为了达到高清效果,视觉稿的画布大小会是基准的2倍(对iphone6而言:原先的375×667,就会变成750×1334). 问题1:对于dpr=2的手机,为什么画布大小×2,就可以解决高清问题? 首先,我们要先了解一下 dpr 是什么? 设备像素比(简称dpr)定义了物理像素和设备独立像素的对应关系,它的值可以按如下的公式的

探究移动端开发

探究移动端开发 什么使移动端开发呢?这就是在手机等移动端设备上的网页开发.而当今比较流行的通过rem进行移动端的适配,所以这篇文章会主要介绍一些基本概念以及rem适配方案. 第一部分:基本概念 物理像素:这个就是在屏幕上可以控制的最小显示单位,比如显示颜色的最小单位. css像素: 就是我们在设计网页时在css中使用的像素,比如:border: 1px black solid;这里的1px即为css像素,实际上这种像素就是下面我们要介绍的设备独立像素. 设备独立像素(density-indepe

移动端开发,几个你可能不知道的CSS单位属性。

1. rem "em" 单位是我们开发中比较常用到的,它表示以当前元素的父元素的单位大小为基准来设置当前元素的大小:“rem” 中的 “r” 代表 “root”,它表示以根(即“html”)元素的单位大小为基准来设置当前元素的单位大小,所以不管当前元素是任意子节点,一旦设单位大小为 “rem” 那么这个元素大小都是以根元素单位为参考的,这里的 “em” 和 “rem” 均具有继承性. 2. vw 和 vh(移动端开发个人最喜欢的单位属性,也是这次介绍的重点) 传统的响应式开发中,我们常

移动端开发心得

1. iOS里fixed中有input或者textarea,用户在里面输入文字,触发键盘,fixed容器会居中显示,而不是继续悬浮 解决办法: http://dwz.cn/CrwNz 2.移动端click时间300ms延迟 解决办法:zepto.js  或者百度touch.js 或者是fastclick.js 3.zepto的touch问题:swipe事件在小米1等低端手机不支持 基本不用zepto 4.百度的touch.js通过touch.on进行绑定事件,但是点击会遇到点透问题,也就是父级触

认识移动端开发

认识移动端开发 什么使移动端开发呢?这就是在手机等移动端设备上的网页开发.而当今比较流行的通过rem进行移动端的适配,所以这篇文章会主要介绍一些基本概念以及rem适配方案. 第一部分:基本概念 物理像素:这个就是在屏幕上可以控制的最小显示单位,比如显示颜色的最小单位. css像素: 就是我们在设计网页时在css中使用的像素,比如:border: 1px black solid;这里的1px即为css像素,实际上这种像素就是下面我们要介绍的设备独立像素. 设备独立像素(density-indepe

移动端开发高清效果和多屏适配

背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 首先,选取一款手机的屏幕宽高作为基准(以前是iphone4的320×480,现在更多的是iphone6的375×667). 对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对iphone6而言:原先的3