web移动端适配方案
web移动端常用解决方案:
一、通过js+rem,这里有一个解决方案(http://imochen.github.io/hotcss/)
1.1、rem兼容性(https://caniuse.com)
ios:6.1系统以上
android:2.1系统以上
1.2、什么是rem的
rem其实就是根据网页的根元素来设置字体大小,和em(font size of the element)的区别是,em是根据其父元素的字体大小来设置。现在大部分浏览器默认font-size:16px。如果一个p标签想要设置font-size为12px,用rem作单位则变成了font-size:0.75rem(12/16=0.75)。根据这个原理,将rem运用到布局,则可以实现不同分辨率的适配。
1.3、rem基准值计算
实际开发中,我们不可能将默认font-size大小作为基准值,这个基准值应该是是根据ui设计稿获取的。如果ui以iphone6(375px)的分辨率为设计基准,设计图的分辨率就为750px(dpr为2),那么我们可以以375/10=37.5为基准(也可以不除已10,这里只是为了不让font-size值太大)。
1.4、动态计算font-size的值
方法一、利用css媒体查询
@media (min-device-width : 375px) and (max-device-width : 667px) and (-webkit-min-device-pixel-ratio : 2) {
二、淘宝flexible方案(https://github.com/amfe/article/issues/17)。
web移动端适配方案的更多相关文章
- rem移动端适配方案
一. rem vs em 单位 定义 特点 rem font size of the root element 以根元素字体大小为基准 em font size of the element 以父元素 ...
- H5 APP 页面移动端适配方案
H5 APP 页面移动端适配方案 https://segmentfault.com/a/1190000011586301 https://juejin.im/post/5cbdee71f265da03 ...
- 基于Vue/React项目的移动端适配方案
本文的目标是通过下文介绍的适配方案,使用vue或react开发移动端及H5的时候,不需要再关心移动设备的大小,只需要按照固定设计稿的px值布局,提升开发效率. 下文给出了本人分别使用create-re ...
- Web移动端适配总结
移动端适配的相关概念以及几种方案总结 适配相关概念 布局视口(layout viewport):html元素的上一级容器即顶级容器,用于解决页面在手机上显示的问题.大部分移动设备都将这个视口分辨率设置 ...
- 移动端适配方案-rem(基础篇)
常见移动web适配方案一般有3种方法,如下图: ①:定高,宽度百分比(一般用来做一些适配性不高的页面,比如主要以一些文字和图片为主的网页或移动端的头部和底部) ②:flex (更多的用于复杂页面的布局 ...
- 移动端适配方案 flexible.js
前言 移动端适配一直以来都是前端开发中不可或缺的重要组成部分,如果没有了它,那么你做出来的页面极有可能会出现各种意外(写出来的页面与设计稿之间的差别).所有我们得找到一种相对来说让人比较满意的解决方案 ...
- 手淘H5移动端适配方案flexible源码分析
移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正 ...
- 整理h5移动端适配方案
<使用Flexible实现手淘H5页面的终端适配>:https://github.com/amfe/article/issues/17 <再聊移动端页面的适配>:https:/ ...
- 【前端适配】vw单位移动端适配方案
近些年移动端的强势崛起,导致移动端适配越来越重要,个人之前一直使用的是rem进行适配,但是发现并不是非常完美,给力的是大漠老师写了一篇<如何在Vue项目中使用vw实现移动端适配>,比较完美 ...
随机推荐
- kettle入门大数据管理工具
研究 kettle 的使用 大佬博客:https://www.cnblogs.com/mq0036/p/9238646.html 国内镜像下载:http://mirror.bit.edu.cn/pen ...
- java程序启动脚本
#!/bin/bash appName=`ls|grep .jar$` if [ -z $appName ] then echo "Please check that this script ...
- 查看Dubbo服务-通过zk客户端
一.基本概念 https://www.cnblogs.com/huasky/p/8268568.html 二.下载与安装 1.进入要下载的版本的目录,选择.tar.gz文件下载 下载链接:http:/ ...
- JZOJ2678 树B
题 Description 已知无向连通图G由N个点,N-1条边组成.每条边的边权给定.现要求通过删除一些边,将节点1与另M个指定节点分开,希望删除的边的权值和尽量小,求此最小代价. Input 每个 ...
- arm初识
一.CPU从指令集角度分类 1.1. CISC (X86) 1.1. 1. CISC CPU 指complex instruction set computer复杂指令集CPU 1.1.2. CIS ...
- [BZOJ 4668]冷战(带边权并查集+启发式合并)
[BZOJ 4668]冷战(并查集+启发式合并) 题面 一开始有n个点,动态加边,同时查询u,v最早什么时候联通.强制在线 分析 用并查集维护连通性,每个点x还要另外记录tim[x],表示x什么时间与 ...
- redis学习之旅-初识Redis
定义: redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存,事件发布或订阅,高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直 ...
- 异步Promise及Async/Await可能最完整入门攻略
此文只介绍Async/Await与Promise基础知识与实际用到注意的问题,将通过很多代码实例进行说明,两个实例代码是setDelay和setDelaySecond. tips:本文系原创转自我的博 ...
- Java中实现多态的条件是什么
java中实现多态需要三个条件: 1,需要有继承关系的存在. 2,需要有方法的重写. 3,需要有父类的引用指向子类对象.
- java中数组的数组问题
int[] arr = new int[10]; int[] arr2 = arr; arr[1] = 10; arr2[1] = 20; System.out.println(arr[1]); 上面 ...