注:移动端必须写:

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

1.首先设置html{font-size: 25px;}

//页面宽度为html字体大小的rem(即25rem)(推荐html字体大小设置为12px到25px之间,不能设置大于25px,
// W3C对网页最小字体并没有硬性的规定。只是我们在设计网页的时候因为考虑到可阅读性,最小一般为12px大小,
// 如果设置大于25px,可能最终的html的字体大小会小于12px)
/**
*
* 注意rem单位计算方法:
* 元素大小/设计稿的1/25 25分之一
* 320/640 *25 这是一半
*
*/
var mresize=function(){

    var view_width =window.innerWidth;//页面宽度
var path=$('html').css('font-size');//html字体大小
path=path.substring(0,path.length-2);
var n =view_width/path;//最终html的字体大小
$('html').css('font-size',n+"px");//(W3C对网页最小字体并没有硬性的规定。只是我们在设计网页的时候因为考虑到可阅读性,最小一般为12px大小.) };
mresize();

2. 响应式布局

html {
font-size : 20px;
}
@media only screen and (min-width: 401px){
html {
font-size: 25px !important;
}
}
@media only screen and (min-width: 428px){
html {
font-size: 26.75px !important;
}
}
@media only screen and (min-width: 481px){
html {
font-size: 30px !important;
}
}
@media only screen and (min-width: 569px){
html {
font-size: 35px !important;
}
}
@media only screen and (min-width: 641px){
html {
font-size: 40px !important;
}
}

3.js定义meta 标签放缩和html字体大小


//1.获取像素比值  是设备上物理像素和设备独立像素(device-independent pixels (dips))的比例。
var num = 1/window.devicePixelRatio; //2.动态生成视口标签
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale='+num+', maximum-scale='+num+', minimum-scale='+num+'" />');

//注:以上两段js可以不用,直接写meta标签禁止放缩
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
//3.获取页面的十分之1
var width = document.documentElement.clientWidth/10; //4.设置HTML字号为页面十分之1 1rem就是页面十分之1 (W3C对网页最小字体并没有硬性的规定。只是我们在设计网页的时候因为考虑到可阅读性,最小一般为12px大小.)
 document.getElementsByTagName('html')[0].style.fontSize = width+'px';
/**
*
* 注意rem单位计算方法:
* 元素大小/设计稿的1/10 十分之一
* 320/640 *10 这是一半
*
*/

移动端适配(rem单位定义方法)的更多相关文章

  1. 移动端适配 rem

    前置知识: 物理像素(physical pixel,device pixel) 物理像素(设备像素),显示设备中一个最微小的物理部件.每个像素可以根据操作系统设置自己的颜色和亮度. 设备独立像素(de ...

  2. 移动端适配-rem(新)

    概念 对于移动端开发来说,无可避免的就是直面各种设备不同分辨率和不同DPR(设备像素比)的问题,在此忽略其他兼容性问题的探讨. 移动端像素 设备像素(dp),也叫物理像素.指设备能控制显示的最小物理单 ...

  3. 移动端适配rem为单位的rem.js及个别设备设置了大字体模式,导致页面变形的处理方式

    这段时间内,涉及到的都是移动端开发,说到移动端开发,我们就会思考到,目前分辨率的问题,如果用px为单位的话,在不同移动设备和不同分辨率下,页面的效果可能会有所不同,甚至导致页面变形.所以在次我们就用到 ...

  4. 浅谈移动端适配-rem

    对于移动端开发来说,无可避免的就是直面各种设备不同分辨率和不同DPR(设备像素比)的问题,在此忽略其他兼容性问题的探讨. 一. 移动端开发有关于像素的概念: 1.设备像素(dp),也叫物理像素.指设备 ...

  5. 移动端开发rem单位

    1.用js计算 <script> (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientat ...

  6. 移动端适配 rem 设置

    refresh();    window.onresize = function(){      setTimeout(function(){        refresh();      },10) ...

  7. 移动端适配 后篇(rem+vm)

    涉及到的一些名词, 详细解释可参考 移动端适配前篇--移动端适配 rem 名词解释 [英寸Inch]英寸表示屏幕斜对角线的长度 [像素Pixel]像素是图像的基本采样单位,它不是一个确定的物理量,因为 ...

  8. html5 750 REM JS换算方法

    在安卓手机低版本浏览器,如果进页面快速执行的话会出现计算宽度不正确的情况,解决方法是放在onload方法里面执行,但这种解决方式在一些高版本浏览器中会出现页面闪动,所以使用判断浏览器版本的方式来解决, ...

  9. css样式重置 移动端适配

    css  默认样式重置 @charset "utf-8"; *{margin:0;padding:0;} img {border:none; display:block;} em, ...

随机推荐

  1. 移植 Busybox

    下载 busybox 从 http://www.busybox.net/downloads/busybox­1.1.3.tar.gz/下载 busybox­1.1.3 到/tmp 目录当中,并解压. ...

  2. JS完美运动框架【利用了Json】

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Ascii码 、16进制与 char

            对于一个非计算机专业出身的人,以前只知道计算机中所有的数据都是以二进制形式进行存储,计算,通信的.但是人类文明中,主要的信息展现以文本的形式展现的.如果使用内存中的0和1来表示文本一直 ...

  4. android 往sd卡中写入文件

    在调用前需要判断是否有写入权限 Environment类提供了比较丰富的方法 static File getDataDirectory() 获得android data的目录. static File ...

  5. python Selenium chromedriver 自动化超时报错:你需要使用多标签保护罩护体

    在使用selenium + chrome 作自动化测试的时候,有可能会出现网页连接超时的情况 如果出现网页连接超时,将会导致 webdriver 也跟着无法响应,不能继续进行任何操作 即时是去打开新的 ...

  6. html--div里让图片水平居中

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Jmeter 录制脚本【转】

    Jmeter 录制脚本[转] Jmeter中有2种方法可以录制脚本.  不过我个人非常不推荐录制脚本,录制的脚本混乱,需要再次加工才能使用. 像我这么精通HTTP协议的人. 一直都是使用Fiddler ...

  8. leetcode-92-反转链表②

    题目描述: 方法一: class Solution: def reverseBetween(self, head: ListNode, m: int, n: int) -> ListNode: ...

  9. 廖雪峰Java13网络编程-2Email编程-2接收Email

    1接收Email协议类型 接收Email:收件人通过MUA软件把邮件从MDA抓取到本地计算机的过程. 1.1 POP3 从MUA到MDA使用最广泛的是协议是POP3 Post Office Proto ...

  10. java.util.concurrent中的几种同步工具类

    java.util.concurrent并发包中提供了一系列的的同步工具类,这些基础类不管是否能在项目中使用到,了解一下使用方法和原理对java程序员来说都是有必要的.博主在看<java并发编程 ...