移动端开发系列笔记(2)—— 移动端特别样式处理
来源:互联网 发布:如何使用淘宝客返利 编辑:程序博客网 时间:2024/06/05 04:04
来源:慕课网《Hello,移动Web》
前言:移动开发像素知识
px: css像素,逻辑像素,是浏览器使用的抽象单位,不同设备可变
dp/pt: 物理像素,与设备无关
dpr: Device pixel ratio 设备像素缩放比;不同设备可变;
换算公式 :1px = (dpr)2 * dp
如iphone2 640*1136dp dpr=2
则:css宽高为 320*568px
retina屏:dpr为2
更详细说明请移步:http://www.cnblogs.com/cench/p/5314044.html
一、移动端高清图片渲染
在 retina屏,1px是2dp,100px*100px图片是200dp*200dp渲染,导致图片模糊
方案A:加载高清图片,两倍图片(@2x),然后图片容器缩小50%。
如图片大小,400*600
width:200px;height:300px;
缺点:
- 普通屏幕下同样加载了(@2x)图片,造成资源浪费
- 图片会失去一些锐利度
方案B: 不同的dpr下,加载不同的尺寸的图片。
css媒体查询,通过javascript条件判断均可;
css媒体查询
@media (-webkit-min-device-pixel-ratio: 2), /* Webkit-based browsers */ (min--moz-device-pixel-ratio: 2), /* Older Firefox browsers (prior to Firefox 16) */ (min-resolution: 2dppx), /* The standard way */ (min-resolution: 192dpi) /* dppx fallback */来源:https://developer.mozilla.org/zh-CN/docs/Web/Guide/CSS/Media_queries-moz-device-pixel-ratio可以用于兼容年龄超过16的Firefox浏览器,-webkit-device-pixel-ratio基于webkit的浏览器不支持dppx。
缺点:准备两套图片(@1x 和@2x)
二、移动端实现1px边框
问题:retina屏:1px使用2dp渲染,导致不够精致
方案A:
IOS8: border:0.5px;
方案B:
其他如Android: 伪类:1 px + Y轴缩放0.5
如:
.li{//IOS8border:0.5px;}.li:before{//Others height:1px; -webkit-transform:scaleY(0.5);}
三、相对单位——rem 用于布局
方案一:rem 基值根据不同设备适应
满足三个计算公式
remBasicValue = screen.width/20;
Awidth = Apx / remBasicValue;
Aheight = Apx / remBasicValue;
方案二:rem 基值采用定值
html{//默认:font-size:32px;}//IE6@ media (min-device-width:375px){html{font-size:37.5px}}//IE6 plus@ media (min-device-width:414px){html{font-size:41.4px}}
注意:在rem布局中,字体等非布局元素的font-size使用px单位,布局元素采用rem相对单位
四、移动端的文本溢出问题
//单行文本溢出.inline{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;//加...}//多行文本溢出;.inlineTwoLine{display:-webkit-box !important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-box-orient:vertical;-webkit-line-clamp:4;//第4行溢出;}}
0 0
- 移动端开发系列笔记(2)—— 移动端特别样式处理
- 移动web特别样式处理
- 移动端笔记系列2--移动端样式和布局的坑
- 移动端笔记系列1--认识移动端的开发
- 关于移动端样式处理
- 《HTML5移动开发指南》——笔记7(Media Queries 移动设备样式)
- 移动端小尺寸样式如何处理
- 移动端样式
- 移动端样式重置
- 初始化移动端样式
- 移动端样式配置
- 移动端web开发filter:blur()样式进行模糊处理使用心得
- 移动端开发样式CSS Hack和一些问题的处理
- HTML5学习笔记 —— 移动端开发要点
- python系列学习——移动开发
- 移动端-css样式技巧
- 移动端样式小技巧
- 移动端样式小技巧
- ionic 跨页面传值的几种方法
- 机器学习及神经网络发展历程
- 单链表
- 文章标题
- 4.3层层递进——广度优先搜索
- 移动端开发系列笔记(2)—— 移动端特别样式处理
- application loader上传成功,但是iTunes Connect不显示构建版本
- BFS和DFS下的拓扑排序
- 成长之路
- 几句话描述简单算法——排序与搜索
- 百练:放苹果
- tensorflow学习笔记九:将 TensorFlow 移植到 Android手机,实现物体识别、行人检测和图像风格迁移详细教程
- 4.4.1再解炸弹人(DFSearch)
- note: the mangling of 'va_list' has changed in GCC