## 番外篇
[了解真实的『REM』手机屏幕适配](https://mp.weixin.qq.com/s/JIRN56acxvJgmzk1Fjj6LA)
[移动web开发适配秘籍Rem-慕课网](http://www.imooc.com/learn/942)
**自适应,响应式,屏幕适配,这是三个独立不同的概念。**
* * * * *
### css像素与设备独立像素
物理像素与设备像素的关系,几个人或一个人可以搞定一条线,但一个人绝对搞不定多条线。多个物理像素可以配合出一个设备独立像素,但一个物理像素不可能再分割而显示出多个颜色。
设备独立像素(密度无关像素)
css像素,也是一种设备独立像素,也称为屏幕无关像素。
>[danger] 设备独立像素的值就是设备独立像素的数量,也就是当前屏幕上虚拟点的数量。我们对元素的控制都是通过控制这个虚拟的点来进行的,而不能直接控制器物理像素。
* * * * *
### 放大与缩小都是软件实现的,原理是改变了元素的像素,或者虚拟像素。
屏幕的物理像素是固定的,画面显示的原理就是,虚拟像素映射到设备物理像素的效果。
只有屏幕足够大,理论上就可以无限放大(几个物理像素显示一个像素),但是却无法无限缩小(一个物理像素不可再分割),因为物理像素再小也会有极限。而我们缩小图像的方式其实就是,减少图像的像素,所以缩小的图像会变得模糊就是这个原因。
* * * * *
### 适配:只兼容最小那还算适配吗?只是保证最低限度能用而已。
以前我们没有rem和媒体查询时,做移动端页面的适配就是先按照最小手机屏幕比如320px来做,只有在最小手机屏幕上显示不挤了,那么大屏幕显示也没有问题,但是这样的效果真的很差,当到大屏幕手机上看,元素就会特别小。对尺寸有严格要求的,这样是无法还原设计稿真实尺寸的。
* * * * *
### 响应式样式作用在哪些地方?
响应式css一般是布局类的,比如元素位置,大小(宽高),形状等,而其他样式,比如颜色,边框等通常不会有什么大的变化。
> 在响应式网页中,PC样式和媒体查询样式有交融的部分,通常只需要在媒体查询中重写元素布局类样式,而元素其它样式如,背景颜色、文字颜色等样式则是重用的部分。重写与重用,利用得好的话将一定情况下改善响应式网页代码冗余的情况。
* * * * *
### 必须要多端适配
页面不可能在多端上都长一样的,每个端屏幕不一样,操作方式和习惯不一样,所以多端必须有对应单独优化的页面展示,否则就不行。不要想偷懒。
* * * * *
### 媒体查询规则还可以写在标签属性上
媒体查询规则还可以写在link标签的属性上啊,这样可以把自适应的css写到单独的文件中(有点类似.js文件中不需要`<script></script>`标签),但是这样能实现动态/懒加载文件吗?NO,不会动态加载文件,还是和普通标签一样,一开始就直接加载文件了,不会只在满足媒体查询时才加载文件。
```
<link id="mobile-style" media="only screen and (max-width: 767px)" type="text/css" rel="stylesheet" href="/skins/LessIsMore/bundle-LessIsMore-mobile.css?v=d9LctKHRIQp9rreugMcQ1-UJuq_j1fo0GZXTXj8Bqrk1"/>
/* by: https://www.cnblogs.com/chenjfblog/p/8715580.html */
```
* * * * *
### 设计稿切图
[UI设计教程:APP切图适配规范](https://www.365yg.com/a6337139493007556865#mid=5891797386)
> 设计眼中的程序员,看她们切图时是怎么想我们的。
>
> 2倍图应该是制作时就按照最大的尺寸制作,不然放大的二倍图会模糊,不过缩小的倍图不会失真吗,这样的话岂不是制作时就要制作多份,还是这个导出多倍图并不是简单的缩放处理,不会导致模糊和失真吗。
* * * * *
last update:2018-7-19 15:45:27
- 开始
- 微信小程序
- 获取用户信息
- 记录
- HTML
- HTML5
- 文档根节点
- 你真的了解script标签吗?
- 文档结构
- 已经落后的技术
- form表单
- html实体
- CSS
- css优先级 & 设计模式
- 如何编写高效的 CSS 选择符
- 笔记
- 小计
- flex布局
- 细节体验
- Flex
- Grid
- tailwindcss
- JavaScript
- javascript物语
- js函数定义
- js中的数组对象
- js的json解析
- js中数组的操作
- js事件冒泡
- js中的判断
- js语句声明会提前
- cookie操作
- 关于javascript你要知道的
- 关于innerHTML的试验
- js引擎与GUI引擎是互斥的
- 如何安全的修改对象
- 当渲染引擎遇上强迫症
- 不要使用连相等
- 修改数组-对象
- 算法-函数
- 事件探析
- 事件循环
- js事件循环中的上下文和作用域的经典问题
- Promise
- 最佳实践
- 页面遮罩加载效果
- 网站静态文件之思考
- 图片加载问题
- 路由及转场解决方案
- web app
- 写一个页面路由转场的管理工具
- 谈编程
- 技术/思想的斗争
- 前端技术选型分析
- 我想放点html模板代码
- 开发自适应网页
- 后台前端项目的开发
- 网站PC版和移动版的模板方案
- 前后端分离
- 淘宝前后端分离
- 前后端分离的思考与实践(一)
- 前后端分离的思考与实践(二)
- 前后端分离的思考与实践(三)
- 前后端分离的思考与实践(四)
- 前后端分离的思考与实践(五)
- 前后端分离的思考与实践(六)
- 动画
- 开发小技巧
- Axios
- 屏幕适配
- 理论基础
- 思考
- flexible.js原理
- 实验
- rem的坑,为什么要设置成百分比,为什么又是62.5%
- 为什么以一个标准适配的,其它宽度也能同等适配
- 自适应、响应式、弹性布局、屏幕适配
- 适配:都用百分比?
- 番外篇
- 给你看看0.5px长什么样?
- 用事实证明viewport scale缩放不会改变rem元素的大小
- 为什么PC端页面缩放不会影响rem元素
- 究竟以哪个为设备独立像素
- PC到移动端初试
- 深入理解px
- 响应式之栅格系统
- 深入理解px(二)
- 一篇搞定移动端适配
- flex版栅格布局
- 其他
- 浏览器加载初探
- 警惕你的开发工具
- JS模块化
- webpack
- 打包原理
- 异步加载
- gulp
- 命名规范
- 接口开发
- sea.js学习
- require.js学习
- react学习
- react笔记
- vue学习
- vue3
- 工具、技巧
- 临时笔记
- 怎么维护好开源项目
- 待办
- 对前端MVV*C框架的思考
- jquery问题
- 临时
- 好文
- 节流防抖