8、手机适配问题之rem和lib-flexible
前言:GitHub:https://github.com/Ewall1106/mall
一、关于lib-flexible.js
flexible方案是手淘经过多年的摸索和实战,总结出的一套移动端适配方案,这里我推荐一篇w3c大漠老师的一篇文章使用Flexible实现手淘H5页面的终端适配,里面详细的讲解了该方案的使用和原理。
另附github地址:https://github.com/amfe/lib-flexible,在github的readme中,作者建议大家开始使用viewport来代替flexible这个方案,其中我也看了一下抛出了文章链接,有一些postCSS新技术的运用,但人水平有限,如果大家感兴趣,可以用作者推荐的方案代替,
二、项目中使用
1、安装
$ cnpm install lib-flexible --save
install
2、main.js中引入
import 'lib-flexible/flexible.js'
main.js
3、viewport设置
我们进入index.html
页面中定义meta
,该标签定义了用户通过手指放大缩小无效,页面比例始终为1:1
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0">
4、安装cssrem插件 cssrem插件是一个把px转换为rem的工具,GitHub:https://github.com/flashlizi/cssrem 为什么不安装px2rem-loader? 一般很多人都喜欢使用px2rem-loader,因为比起cssrem确实方便很多,但由于我在工作中基于微信做h5页面的时候会使用vux组件库,如果安装这个,需要在build/utils.js中的cssLoader中配置,这样会导致使用vux组件变形。
5、配置cssrem(以750*1334设计稿为例) 因为Flexible会将设计稿分成100份(主要是为例以后能更好的兼容vh和vw),而每一份被称为一个单位a;同时1rem单位被认定为10a,我们可以得出:
1a = 7.5px
1rem = 75px
所以我们进入vsc的首选项里面,把把html的font-size设置为75px:
html font-size
ps:sublime及其它编辑器参考文档解决
参考学习 https://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html https://github.com/flashlizi/cssrem
- Golang语言社区--【游戏服务器知识】多线程并发
- 用100行Nodejs代码写微博爬虫
- MySQL无法创建表的问题分析(r12笔记第73天)
- Golang语言社区--【H5游戏开发基础知识】JavaScript 用法
- Oracle中的PGA监控报警分析二(r12笔记第87天)
- Oracle 12c PDB的数据备份恢复(r12笔记第84天)
- MySQL和Oracle中唯一性索引的差别(r12笔记第83天)
- 如何用JavaScript进行数组去重
- Oracle 12.1升级到12.2的两种方法(r12笔记第92天)
- Oracle数据库重启后密码失效的问题(r12笔记第91天)
- Oracle和MySQL竟然可以这么写这样的SQL?(r12笔记第99天)
- Golang语言社区--了解C++ 用libcurl库进行http通讯网络编程
- Golang语言-- 小技巧
- MySQL Shell的简单介绍(r12笔记第95天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法