移动端适配

  • web页面跑在手机端(h5页面)
  • 跨平台
  • 基于webview()
  • 基于webkit

常见适配方法

  • pc端采用display:inline-block,让div盒子横着排

  • 移动web:采用定高,宽度百分比,flex弹性布局,meDIA QUERY 媒体查询

  • 媒体查询

    结合css,通过媒体类型(screen、print)和媒体参数(max-width)

         @media screen and (max-width: 320px){
    /* css在屏幕跨度<=320px时这段样式生效 */
    .inner{
    float: left;
    }
    }
    @media screen and (min-width: 321px){
    .inner{//
    }
    }

以上实现了一个简单的横排和竖排的响应

  • rem原理与简介

    Rem就是一个字体单位,类似于px,

    区别:他会根据HTML根元素大小而定,同时也可以作为高度和宽度的单位。

    适配原理:动态修改html的font-size适配;rem是通过不同屏幕的大小设置html根元素的font-size的属性大小来实现适配。

      /* +_media实现*/
    @media screen and (max-width: 360px) and (min-width: 321px){
    html{
    font-size: 20px;
    }
    }
    @media screen and (max-width: 320px){
    html{
    font-size: 24px;
    }
    }

通过JS动态设置font-size:

//获取视窗宽度
let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
console.log(htmlWidth);
let htmlDom = document.getElementsByTagName('html')[0];
htmlDom.style.fontSize = htmlWidth/10 + 'px';
rem进阶
  • rem基准值计算

       1rem = 16px
  • rem数值计算与构建

       170/16 = 170px
  • rem与scss结合使用(node-sass安装)

    也可以直接安装sass(安装教程http://www.cnblogs.com/yehui-mmd/p/8035170.html)

  • rem适配实战

    通过监听浏览器视口来进行适配

      let htmlDom = document.getElementsByTagName('html')[0];
    window.addEventListener('resize', (e)=>{
    //获取视窗宽度
    let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
    htmlDom.style.fontSize = htmlWidth/10 + 'px';
    })

    定义rem适配的函数及使用(sass语法)

    @function px2rem($px) {
    $rem:37.5px;//iphone6
    @return ($px / $rem) + rem;
    }
    .header{
    width:100%;
    height: px2rem(40px);
    background-color: red;
    padding-left: px2rem(23px);
    }

Rem实现移动端适配的更多相关文章

  1. JS+rem,移动端适配

    window.onresize = function () { setHtmlFz(); } setHtmlFz(); function setHtmlFz() { // 基础值 var baseVa ...

  2. 小tips:使用rem+vw实现简单的移动端适配

    首先设置meta属性,如下代码: <meta name="viewport" content="width=device-width, initial-scale= ...

  3. 移动端适配单位rem

    0 写在前面 本周惊喜地发现,其他各个老师的软工班(罗杰老师班和欧阳老师班)的软工项目的alpha版本都已经发布了!(然而我们软工项目还没开始写代码…逃…) 十分好奇的我第一时间下载了一些他们的产品进 ...

  4. rem移动端适配方案

    一. rem vs em 单位 定义 特点 rem font size of the root element 以根元素字体大小为基准 em font size of the element 以父元素 ...

  5. 移动端适配之REM

    随着手机等移动设备的普及,移动端带来的流量已经不可忽视,一个网站不只是只有pc的页面就足够了,移动端的适配已经势在必行.但是移动设备种类繁多,屏幕尺寸也千奇百怪,能不能找到一种方式可以适配所有的手机屏 ...

  6. rem简单实现移动端适配

    rem:移动web开发 默认字体大小是16px 在<html>中设置字体大小 与em的区别: em是在父级设置字体大小受影响 移动端适配 首先获取屏幕的宽度 计算当前屏幕宽度和640的比例 ...

  7. 移动端适配(rem & viewport)--移动端开发整理笔记(四)

    移动端适配 通过rem适配 em: 根据元素自身的字体大小来计算自己的尺寸 rem: (root em) 根据根节点(html)的字体大小来计算自己的尺寸   我们知道,在不同的手机设备,分辨率大小是 ...

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

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

  9. 移动端适配 rem

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

随机推荐

  1. PAT 1089 Insert or Merge[难]

    1089 Insert or Merge (25 分) According to Wikipedia: Insertion sort iterates, consuming one input ele ...

  2. PL/SQL 创建用户及权限操作

    1.创建User create user user01 identified by user01, 2.赋予连接数据库的权限 grant connect to user01; 3.把user00的表E ...

  3. 读取、设置 php.ini配置文件(复制)

    1.ini_get()获取配置参数,ini_set()设置配置参数 复制代码 代码如下: <?phpecho ini_get('display_errors'); //1//动态修改php.in ...

  4. C# 各种导入 Excel 文件的数据的方法总结

    在导入之前都需要将上传的文件保存到服务器,所以避免重复的写这些代码,先贴出上传文件并保存到服务器指定路径的代码. protected void btnImport_Click(object sende ...

  5. 将jar包发布到nexus仓库

    版本的快速迭代不适合release发布到仓库,snapshot方便版本的快速迭代. 1.pom改为snapshot <dependency> <groupId>com.sf.c ...

  6. Windows和Ubuntu双系统

    1  重装系统:Windows(Win7) 1.1 下载大白菜/老毛桃等工具,把U盘制作成启动盘 1.2 下载windows系统镜像文件放入U盘中 1.3  U盘插入待装系统的主机,开机进入BIOS( ...

  7. 整理一些《纸书科学计算器》的小Tips

    本文最开始是在2016年的文章 Win10应用<纸书科学计算器>更新啦! 发表之后撰写的,当时那篇文章收到了不少人点赞,应用在国内市场的日下载量也突然上涨,让我感到受宠若惊,这里要感谢Wp ...

  8. jmeter+http接口测试

    参考: http://blog.csdn.net/github_27109687/article/details/71968662   Jmeter接口测试+压力测试 http://blog.csdn ...

  9. ultraedit 查看文件

    转自:https://wenda.so.com/q/1481655902726192 1 UltraEdit在打开文件的时候,会对文件类型进行检查.如果是二进制文件,会自动转为16进制显示模式.如下图 ...

  10. linux 用户态和内核态以及进程上下文、中断上下文 内核空间用户空间理解

    1.特权级         Intel x86架构的cpu一共有0-4四个特权级,0级最高,3级最低,ARM架构也有不同的特权级,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查.硬件已经提 ...