代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 2rem;height: 2rem;background-color: red;}</style>
</head>
<body><div></div><script src="./js/flexible.js"></script>
</body>
</html>
(function flexible (window, document) {var docEl = document.documentElementvar dpr = window.devicePixelRatio || 1// adjust body font sizefunction setBodyFontSize () {if (document.body) {document.body.style.fontSize = (12 * dpr) + 'px'}else {document.addEventListener('DOMContentLoaded', setBodyFontSize)}}setBodyFontSize();// set 1rem = viewWidth / 10function setRemUnit () {var rem = docEl.clientWidth / 10docEl.style.fontSize = rem + 'px'}setRemUnit()// reset rem unit on page resizewindow.addEventListener('resize', setRemUnit)window.addEventListener('pageshow', function (e) {if (e.persisted) {setRemUnit()}})// detect 0.5px supportsif (dpr >= 2) {var fakeBody = document.createElement('body')var testElement = document.createElement('div')testElement.style.border = '.5px solid transparent'fakeBody.appendChild(testElement)docEl.appendChild(fakeBody)if (testElement.offsetHeight === 1) {docEl.classList.add('hairlines')}docEl.removeChild(fakeBody)}
}(window, document))

直接在body最后面引入

<script src="./js/flexible.js"></script>

就可以使用了,不用自己适配一些视口了,爽死,可以直接拿来使用。

移动适配(引入js知识)相关推荐

  1. dva.js 知识导图

    dva.js 知识导图 JavaScript 语言 变量声明 const 和 let 模板字符串 默认参数 箭头函数 模块的 Import 和 Export ES6 对象和数组 析构赋值 对象字面量改 ...

  2. 【Vue.js 知识量化】ES6 语法积累

    ES6 语法 let / var const 的使用 class.extends.super 箭头函数(arrow function) 模版字符串(template string) 结构(destru ...

  3. 移动端适配+flexible.js+rem适配

    移动端适配 前沿: 移动端web页面的开发,由于手机屏幕尺寸.分辨率不同,或者需要考虑横竖屏问题,为了使得web页面在不同移动设备上具有相适应的展示效果,需要在开发过程中使用合理的适配方案来解决这个问 ...

  4. VScode中html怎么引入js,vscode中如何使用typescript,如何自动编译成js文件

    使用vscode创建一个typescript程序 1:介绍 typescript是一个跨平台的编程语言,专门用于前端的语言,是由微软开发,在2013年6月正式发布,它是javascript的超集,扩展 ...

  5. web项目中关于引入JS/css文件, 浏览器console出现 net::ERR_ABORTED错误的解决方法

    如图错误: 引入js/css后,控制台出现的错误! 我的错误则是因为在静态文件夹下的原因. 解决:如果要放在webRoot下的静态(static)文件夹下,需要在springMvc的配置文件中添加上注 ...

  6. HTML5中引入JS

    在页面中引入JS <script src="jquery-1.10.2.min.js" type="text/javascript"></sc ...

  7. 【NLP】NLP任务增强:通过引入外部知识来提供额外信息

    作者 | 夜小白 整理 | NewBeeNLP 0.前言 NLP任务中,常见的做法是根据「当前输入」进行建模,进而设计出我们的模型,通常用到的信息只有「当前局部的信息」. 这和人类最大的区别就是我们在 ...

  8. 静态html引入js添加随机数后缀防止缓存

    在web项目开发中,页面引入js被修改时,为避免浏览器缓存引起的问题,在引入js时,给js名后面加上随机数,以保证每次都发送新的请求. 在jsp中,一般通过后台取随机数即可,代码如下: <scr ...

  9. 关于引入 js 文件

    一.说说 script 标签的几个常用属性 async 表示立即下载该 js 文件,但不妨碍页面中的其他操作(只对外部 js 文件有效) defer 表示该 js 文件可以延迟到整个页面被解析并显示之 ...

最新文章

  1. AC日记——中位数 洛谷 P1168
  2. c语言多文件 clang,c – 具有多行函数声明参数的Clang格式问题
  3. 加权边界框融合(WBF)
  4. hibernate-validate
  5. 【已解决】Error occurred during loading data. Trying to use cache server_Python系列学习笔记
  6. 二叉树的创建、遍历(递归和非递归实现)、交换左右子数、求高度(c++实现)
  7. 解决Ubantu系统下sublime无法输入中文的问题
  8. 【C/C++】size_t 数据类型
  9. 组件化,插件化和热更新
  10. Python第五天的学习分享
  11. python 拼多多_Python 登录拼多多下单
  12. openGL 中 glColor3f()函数 颜色设定
  13. 邮件营销EDM模板制作规范
  14. 镭速(Raysync)文件传输高可用安装部署介绍!
  15. 自己总结的常见命令(用过的)
  16. 附件怎么插到公众号里
  17. windows 建立软连接
  18. 严蔚敏数据结构c++版微盘_数据结构复习知识点总结
  19. Leetcode:62题 不同路径(一个机器人位于一个 m x n 网格的左上角 。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角)
  20. Uploadify/uploadifive上传(中文文档)

热门文章

  1. 云端开发在阿里的典型应用场景
  2. C语言疑难点汇总解析
  3. 有肉电商软件究竟是做什么的?
  4. 机器学习---之为什么要对数据进行归一化
  5. 机器学习-隐语义模型
  6. MapReduce实战之倒排索引案例(多job串联)
  7. STM32控制NB-IOT将数据上传至微信与网站显示
  8. 一加云服务照片批量下载Python爬虫
  9. PS4 的下载速度问题
  10. 惠普战99 u盘启动BIOS设置教程