使用Flexible 实现手淘H5 页面的终端适配学习
Amfe阿里无线前端团队双11技术连载之际,一个实战案例来展示多终端适配.
Device metrics
1.0 mdpi
2.0 xhdpi
3.0xxhdpi(iphone 6 plus)
手淘h5要试配的终端设备数据
只出一套IOS平台设计稿, 但随着iphone 6 iphone6+的出现,从此终端tdsgukjg已不再是ANdroid系列了,ipo
iphone 6 750*1134
iphone 6 plus 414*736
设计师和前端开发之间又应彩什么协作模式?
选择一种尺寸作为设计和开发基准
定义一套适配规则,自动适配剩下的两种尺寸(你懂的)
特殊配适效果给出设计效果。
手淘设计师常选择iphone6 作为基准设计
交互给前端的是750*1334
自动适配到其它规则
前端开发完成终端适配方案
flexible 方案
视窗viewport
viewport 严格等于浏览器的窗口,有点复杂
移动端的viewport太窄, 为了能更好为css布避服务,
两个view port
viewportvisualviewport和布局的 viewportlayoutviewport
虚拟, 布局
这两个概念
ppk 写的相关教程
物理像素
设备像素
物理部件颜色和亮度,微小距离
设备独立像素(density-independent pixel)
密度无关像素, 一个点, 由程序使用的虚拟像素养.
相关系统转换为物理像素
css 像素
抽象的单位, 主要使用在浏览器上, Web页面上的内容, 一般,CSS像素称为与设备无关的像素
DIPS device-independent pixel
屏幕密度
像素数量, 每英寸有多少像素来计算
设备像素比 device pixel ratio
dpr
设备像素比 = 物理像素/设备独立像素
window.devicePixelRatio 当前设备的dpr.
-webkit-device-pixel-ratio
-webkit-min-device-pixel-ratio
-webkit-max-device-pixel-ratio
dip dp 设备独立像素 与屏幕密度有关。dip 可以
用来辅助区分视网膜设备还是非视网膜设备
css pixel Standard Retian
Eevice pixel
275pt*667pt 设备独立像素 dpr为2
物理像素养 750*1334
在不同的屏幕上 css 像素所呈现的物理尺寸
是一致的, 而不同的是css像素所对应的物理像素养
是不一致的。
Layout 之外
图片的试配
内容是什么格式的
放在两倍的图片新版本
imageOption 优化图片文件的大小
手动优化细节,
两个版本的图片
css 背景图?
IMG标签, 转换成css 背景的图片。
IMG标签上加上原图的宽高。
网页的比例和最大比例被设置为100%;
CSS 单位ren
font size of the root element
相对于根元素的html 的font-size来计算
lig-flexible 的库
制作h5适合的开源库, Javascript 和 Css 文件
data-dpr 属性, 以及一个font-size 样式。
data-dpr值 font-size:75px.
<meta name="flexible" content="initial-dpr=2" />
默认设置的值
对于Android , 认为dpr 为1
动态改写meta 标签
给html元素加 data-dpr属性, 并且动态改写data-dpr的值
font-size属性 并且动态改写 font-size
使用Flexible 实现手淘H5 页面的终端适配学习的更多相关文章
- 使用Flexible实现手淘H5页面的终端适配【转】
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...
- 使用Flexible实现手淘H5页面的终端适配(转)
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...
- (转)使用Flexible实现手淘H5页面的终端适配
原文链接 曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面 ...
- [转]使用Flexible实现手淘H5页面的终端适配
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...
- 使用Flexible实现手淘H5页面的终端适配
拿到设计师给的设计图之后,剩下的事情是前端开发人员的事了.而手淘经过多年的摸索和实战,总结了一套移动端适配的方案--flexible方案. 这种方案具体在实际开发中如何使用,暂时先卖个关子,在继续详细 ...
- Flexible DEMO 实现手淘H5页面的终端适配
<!DOCTYPE html> <html> <head> <title>淘宝flexiblejs</title> <meta cha ...
- 关于标准ui设计图转换为H5页面的终端适配
一些基本概念 在进行具体实战之前,首先得了解下面这些基本概念(术语): 视窗 viewport 简单的理解,viewport是严格等于浏览器的窗口.在桌面浏览器中,viewport就是浏览器窗口的宽度 ...
- vue移动端h5页面根据屏幕适配的四种方案
最近做了两个关于h5页面对接公众号的项目,不得不提打开微信浏览器内置地图导航的功能确实有点恶心.下次想起来了的话,进行总结分享一下如何处理.在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块 ...
- 关于H5页面在iPhoneX适配
1. iPhoneX的介绍 屏幕尺寸 我们熟知的iPhone系列开发尺寸概要如下: △ iPhone各机型的开发尺寸 转化成我们熟知的像素尺寸: △ 每个机型的多维度尺寸 倍图其实就是像素尺寸和开 ...
随机推荐
- dreamvc框架(一)ioc容器的集成
我的dreamvc框架最终写得差点儿相同了,借鉴了非常多开源框架,SpringMVC.Struts2等,眼下放在github上面.地址请猛戳我 写得差点儿相同了,是要写一个总结,把自己当时的思路记录下 ...
- python的私有变量解析
在内的内部定义并使用,外部无法訪问,以双下划线作为前作,定义后被python转为 _classname__变量名了 ------------------------------------------ ...
- C# 自动登录网页,浏览页面【转载】
需求:客户的数据同时存在在另外一个不可控的系统中,需要和当前系统同步. 思路:自动登录另外一个系统,然后抓取数据,同步到本系统中. 技术点:模拟用户登录:保存登录状态:抓取数据 /// <sum ...
- HTML及简单标签介绍
什么是HTML: HTML 语言是一种超文本的标记语言,简单来讲就是构建一套标记符号和语法规则,将所要显示出来的文字.图象.声音等要素按照一定的标准要求排放,形成一定的标题.段落.列表等单元. 标签 ...
- Not enough free space on disks! linux
Not enough free space on disks!100多G未分配空间也装不了Linux ------------------------------------------------- ...
- 自定义控件(视图)2期笔记10:自定义视图之View事件分发机制("瀑布流"的案例)
1. Touch事件的传递: 图解Touch事件的传递,如下: 当我们点击子View 02内部的Button控件时候,我们就触发了Touch事件. • 这个Touch事件首先传递给了顶级父View ...
- C#快速排序法
最近面试的时候,被问到了快速排序法.一时之间,无法想起算法来. 重新看了书本,算法如下: 1)设置两个变量I.J,排序开始的时候:I=0,J=N-1: 2)以第一个数组元素作为关键数据,赋值给key, ...
- equals函数的作用
1.equals函数在什么地方 在Object类中,写法与==一样,但是我们用的时候要重写这个equals方法 String类型中的equals是复写好的 2.equals函数的作用 ==号在比较两个 ...
- apk文件解析,学习笔记
Android 应用程序包文件 (APK) 是一种Android操作系统上的应用程序安装文件格式,其英文全称为 “application package file” . 如果懂得使用反编译工具,可以下 ...
- iOS9适配中出现的一些常见问题
本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...