思想:(为手机而生)
在手机端网站实现 自适应效果 使用rem代替 之前代码当中的px 实现自适应
原理是通过引入JavaScript代码然后根据设备的宽度来动态的设置 font-size的大小从而确定1rem的值 也可以使用JavaScript原生代码实现动态复制 参看
另一种方法
实质:
将布局视口的宽度分成十等分 每一份就是1rem 且1rem=font-size的px值
使用方法:
1. 引入` <script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.2/??flexible_css.js,flexible.js"></script>`
替换`<meta name="viewport" content="width=device-width, initial-scale=1.0">`
2. 在 vscode 的cssrem插件中 点击 文件>首选项中搜索cssrem 设置"cssrem.rootFontSize": 64 值根据具体情况确定 (布局视口的宽度 640 就是64 布局视口的宽度750 就是75)
demo:
~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.2/??flexible_css.js,flexible.js"></script>
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
*{margin:0;padding:0}
/* rem是相对于根元素,html的font-size而言
1rem=1rem (640) iphone7 vw=10rem
1rem=.853333rem(540) iphone5 vw=10rem
1rem=1.656rem iphone6plus vw=10rem
*/
/*
flexible-->将布局视口的width等分成10rem;
*/
#app{
width:10rem;
margin-left: auto;
margin-right: auto;
}
.demo{
width: 5rem ;
height: .266667rem;
background: red;
}
</style>
</head>
<body>
<div id="app">
<div class="demo">
</div>
</div>
<script>
// 布局视口的width
var vw = document.documentElement.clientWidth;
//设备width
var dw = screen.availWidth;
// 设备像素比
var dpr = window.devicePixelRatio;
console.log("vw:"+vw);
console.log("dw:"+dw);
console.log("dpr:"+dpr)
</script>
</body>
</html>
~~~
- HTML,CSS
- 如何书写高效的css样式
- box-shadow
- 表格合并行列
- 自适应单位
- 隐藏元素
- 浏览器缓存
- 浏览器内核
- css和js的合理走位
- 2021样式问题汇总
- 模拟面试
- 移动端适配问题
- flexible(rem)
- vw+rem
- 判断一个属性是对象的私有属性
- px rpx em rem vw
- 清除浮动
- 栅格系统
- get&&post
- 雪碧图
- new操作符
- call apply bind区别
- 前端模块化
- 回调函数
- 回调地狱(封装版)
- 回调地狱(promise)
- 回调地狱(generator)
- 回调地狱(async)
- es6新特性
- let
- 箭头函数
- 展开 解构 默认赋值
- vue生命周期
- axios封装
- axios跨域拿数据
- ajax封装
- JavaScript
- 数组
- 排序
- 取偶数
- 反转排序
- 取最大值
- 数组去重
- 复杂版
- 数组的克隆(深拷贝)的方法
- 求质数
- 原型和原型链
- 创建对象
- 什么是路由
- SASS
- jQuery中的append和prepend区别?
- css动画及js动画的区别
- 隐式类型转换
- 原型
- 事件传播
- 函数
- 增加属性
- 构造函数
- 一元操作符
- 作用域
- 短语
- Vue
- - nextTick
- 自我介绍
- 哦豁(;д;)
- for in效果
- 事件
- promise特点
- 如何实现一个ajax请求
- 媒体查询
- substr和substring
- MVC、MVVM
- 面向对象
- 取数据、渲染数据
- ajax
- vue
- React
- es6-class
- 几种类型的DOM节点
- js同源策略
- 闭包
- 2021
- 数据类型
- 闭包2
- 防抖节流
- 原型与原型链
- call与apply与bind
- 深浅拷贝
- New关键字
