淘宝lib-flexible自适应布局

首先自适应布局,是元素宽度占用设备宽度的百分比一样,这样设备宽度不一时,元素宽度不一
假设设计图是375*667,元素宽度为75px,为了保持比例一样,那么元素的像素宽度跟屏幕宽度有关

// 320宽度屏幕元素宽度应该是75/375*320,即64
75/375 = 64/320

因为我们的css宽度一定是写一个固定的宽度,即n rem,那么元素宽度我们表示为

n rem * 设备相关的参数

75/375 = 64/320
// 分子分母提取与设备相关参数,为了方便计算,假设提取设备宽度的1/10,即
37.5*2/(37.5*10) = 32*2/(32*10)
// 那么设备相关参数 = 37.5|32,n=2

flexible把设备相关参数写在了根节点的font-size上

首先为什么根节点html的font-size,不设置为1px呢,375px的元素直接就是375rem,不是更方便吗?

因为浏览器默认最小字号是12px,设置1px,其实是12px,这个时候设备宽度以375为例,n = 375/12,初始宽度就除不整,不便于计算,如果设置375px,那么算出来的rem都是0以下小数

所以我们一般将设计图整体宽度/10作为根节点的font-size,n rem的n = 元素宽度/font-size
n可能会除不尽,可以借用插件去方便的转换,记得设置插件根节点的字体大小哦

你可能感兴趣的:(淘宝lib-flexible自适应布局)