字体设置
Mobile平台的字体并没有统一的标准规范,大多数平台通常只有一种字体。所以,当你使用了一种字体,最好同时提供一些备选字体,这样当第一种字体不支持的时候,浏览器会选择第二种,依次查找,如果都不支持,浏览器会使用默认字体。
这里强烈推荐使用无衬线字体
1 |
body{ font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;} |
iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica。中文字体设置为华文黑体STHeiTi。
需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5484?viewlocale=en_US), 但系统会自动将华文黑体STHeiTi兼容命中系统默认中文字体黑体-简或黑体-繁
Heiti SC Light 黑体-简 细体
Heiti SC Medium 黑体-简 中黑
Heiti TC Light 黑体-繁 细体
Heiti TC Medium 黑体-繁 中黑
原生Android下中文字体与英文字体都选择默认的无衬线字体
4.0 之前版本英文字体原生 Android 使用的是 Droid Sans,中文字体原生 Android 会命中 Droid Sans Fallback
4.0 之后中英文字体都会使用原生 Android 新的 Roboto 字体
其他第三方 Android 系统也一致选择默认的无衬线字体
基础交互
设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为
1 2 3 |
a,img{ -webkit-touch-callout: none; /* 禁止长按链接与图片弹出菜单 */} html,body{ -webkit-user-select: none; /* 禁止选中文本(如无文本选中需求,此为必选项) */ user-select: none;} |
移动性能
注意! 要考虑Android
低端机与2G
网络场景下性能 。
发布前必要检查项
- 所有图片必须有进行过压缩
- 考虑适度的有损压缩,如转化为80%质量的jpg图片
- 考虑把大图切成多张小图,常见在banner图过大的场景
加载性能优化, 达到打开足够快
- 数据离线化,考虑将数据缓存在 localStorage
- 初始请求资源数
< 4
注意! - 图片使用CSS Sprites 或 DATAURI
- 外链 CSS 中避免 @import 引入
- 考虑内嵌小型的静态资源内容
- 初始请求资源gzip后总体积
< 50kb
- 静态资源(HTML/CSS/JS/IMAGE)是否优化压缩?
- 避免打包大型类库
- 确保接入层已开启Gzip压缩
- 尽量使用CSS3代替图片
- 初始首屏之外的图片资源需延迟加载 注意!
- 单页面应用(SPA)考虑延迟加载非首屏业务模块
运行性能优化, 达到操作足够流畅
- 避免 iOS 300+ms 点击延时问题 注意!
- 缓存 DOM 选择与计算
- 避免触发页面重绘的操作
- Debounce连续触发的事件(scroll/resize),避免高频繁触发执行
- 尽可能使用事件代理,避免批量绑定事件
- 使用CSS3动画代替JS动画
- 避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度
- HTML结构层级保持足够简单,推荐不超过 5 个层级
- 尽能少的使用CSS高级选择器与通配选择器
- Keep it simple
在线性能检测评定工具使用指南
- 访问 Google PageSpeed 在线评定网站
- 在地址栏输入目标URL地址,点击分析按钮开始检测
- 按 PageSpeed 分析出的建议进行优化,优先解决红色类别的问题
潘泳宇 发表于: 2014/10/21 10:35