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 页面的终端适配学习的更多相关文章

  1. 使用Flexible实现手淘H5页面的终端适配【转】

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...

  2. 使用Flexible实现手淘H5页面的终端适配(转)

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...

  3. (转)使用Flexible实现手淘H5页面的终端适配

    原文链接 曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面 ...

  4. [转]使用Flexible实现手淘H5页面的终端适配

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...

  5. 使用Flexible实现手淘H5页面的终端适配

    拿到设计师给的设计图之后,剩下的事情是前端开发人员的事了.而手淘经过多年的摸索和实战,总结了一套移动端适配的方案--flexible方案. 这种方案具体在实际开发中如何使用,暂时先卖个关子,在继续详细 ...

  6. Flexible DEMO 实现手淘H5页面的终端适配

    <!DOCTYPE html> <html> <head> <title>淘宝flexiblejs</title> <meta cha ...

  7. 关于标准ui设计图转换为H5页面的终端适配

    一些基本概念 在进行具体实战之前,首先得了解下面这些基本概念(术语): 视窗 viewport 简单的理解,viewport是严格等于浏览器的窗口.在桌面浏览器中,viewport就是浏览器窗口的宽度 ...

  8. vue移动端h5页面根据屏幕适配的四种方案

    最近做了两个关于h5页面对接公众号的项目,不得不提打开微信浏览器内置地图导航的功能确实有点恶心.下次想起来了的话,进行总结分享一下如何处理.在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块 ...

  9. 关于H5页面在iPhoneX适配

    ​1.  iPhoneX的介绍 屏幕尺寸 我们熟知的iPhone系列开发尺寸概要如下: △ iPhone各机型的开发尺寸 转化成我们熟知的像素尺寸: △ 每个机型的多维度尺寸 倍图其实就是像素尺寸和开 ...

随机推荐

  1. Java web 文件下载

    /** * 下载文件 * @param msg */ public boolean printOutFile(String fileFullName,String fileName) { if (fi ...

  2. Robolectric Test-Drive Your Android Code

    Running tests on an Android emulator or device is slow! Building, deploying, and launching the app o ...

  3. 虚拟机如何访问tomcat

    首先需要把tomcat和jdk整到虚拟机里,然后再在虚拟机里安装tomcat和jdk. 一.怎样把tomcat和jdk整到虚拟机里? 1,需要“ha_Serv-U6406 ftp服务器”的帮助,所以先 ...

  4. Linux 目录与文件的基本操作

    1 目录与文件 1.1 文件 硬盘中的数据在操作系统中的体现为文件. 1.2 目录 目录的概念不是文件集合.目录和文件一样,目录也是文件.目录是找到文件的“踏板”.目录的本质是路径映射. 1.3 Li ...

  5. ZOJ 3905 Cake(贪心+dp)

    动态规划题:dp[i][j]表示有i个Cake,给了Alice j个,先按照b排序,这样的话,能保证每次都能成功给Alice Cake,因为b从大到小排序,所以Alice选了j个之后,Bob最少选了j ...

  6. sql根据'/'截取最后的字符串

    filpath字段值:/DataFile/UpLoad/Logo/NoPhoto.jpg select filpath,REVERSE((SUBSTRING(REVERSE(FilPath),0,CH ...

  7. android 定时请求(两种实现方式)

    方式一: Handler + Runnable (借鉴网址:http://stackoverflow.com/questions/6207362/how-to-run-an-async-task-fo ...

  8. 查询两个日期(时间)以内的数据,between and 或 and 连>= <=,to_date()

    between and 方法 select * from kk.kkhmd where larq between(to_date('2008-9-3','yyyy-mm-dd')) and (to_d ...

  9. 那些年,我们一起学WCF--(7)PerSession实例行为

    这一节,大家了解下PerSession实例行为,PerSession表示会话实例行为,当客户端调用服务器后,服务器端会为客户端分配一个新的服务实例,这个实例在服务器端SESSION时间过期后将失效.客 ...

  10. List<T>取交集、差集、并集

    1.  取交集 (A和B都有) List A : { 1 , 2 , 3 , 5 , 9 }List B : { 4 , 3 , 9 }var intersectedList = list1.Inte ...