一.前言 我们h5项目终端适配采用的是淘宝那套<Flexible实现手淘H5页面的终端适配>方案.主要原理是rem布局.最近和别人谈弹性布局原理,发现虽然已经使用了那套方案很久,但是自己对rem的理解很含糊, 包括vw.vh等.所以打算写博客总结一下,以加深理解. 二.几个概念 这里就不讲那些,物理像素.设备像素比了,可以自己查阅.要去理解rem/em/vm/vh等,首先要直观的去理解他们到底是什么?理解好了,后面就好办了.其实这几个都是css单位,就像我们常用的px一样,只不过他们都是相对单…
主题 HTML移动端页面开发适配 rem布局原理 什么是适配,为什么要适配 我们拿到的设计图一般是以640,750,1080分辨率为基准设计的,而现在的手机终端各式各样,分辨率不同,逻辑像素不同 ,适口不同,所以为了让我们的页面在每个设备上都可以良好的展示,那么就需要为这些设备做统一的处理,这个过程就称为移动端适配. 需要知道的一些概念: 物理像素(physical pixel) 一个物理像素是显示器(手机屏幕)上最小的物理显示单元,可以理解为我们平时说的分辨率: 设备独立像素(density-…
昨天去面试,面试官竟然说他们用媒体查询针对不同的屏幕宽度做了9个不同的rem布局,呵呵... eg: html{font-size:20px;} div{width:16rem;height:100px;background:red;} 上面例子中div宽度为320,因为他是16乘以根元素的font-size的值. 每次设备屏幕宽度变化时,让根元素的font-size变化:   320屏宽时,font-size:20px, 16rem能占满屏 新设备宽度,为了16rem也能占满屏,所以要重新计算…
以下以row定义说明问题,列类似: <Grid>        <Grid.RowDefinitions>            <RowDefinition />            <RowDefinition Height="50"/>        </Grid.RowDefinitions> 指定高低的时候,高度的单位可以使*,可以使p,可以使auto,还可以缺省下面是msdn的的说明: 缺省就是*,auto会根据…
关于css中的长度单位,我们用的最多就是px,因为他简单直接.但是当一套方案匹配不同终端时,px就会显得过于生硬,不容易变通. 然而rem,em,vh,vw就可以有效的解决这一问题.让我们来看看这些东西是个啥? 首先是rem,W3C官网描述是"font size of the root element",即rem是相对于根元素.概念不好理解接咋们就直接直接看demo: DOM结构如下: CSS 代码如下: 效果如下:     现在对于rem是否有了点认识,设置html的font-siz…
原文转载:https://blog.csdn.net/sinat_17775997/article/details/81020417 一.媒体查询 不同物理分辨率的设备,在还原设计稿时,css中设置的px所对应的物理像素是不同的,css像素并不是一个固定宽度. 如设计稿总宽100px,屏幕视窗物理像素1000px,如果要设置设计稿沾满屏幕,那么css中设置的1px=1000/100物理像素. 因此通过一套样式,是无法实现各端的自适应.由此我们联想: 如果一套样式不行,那么能否给每一种设备各一套不…
和以往一样,本次项目也放到了 Github 中,欢迎围观 star ~ 1. 前言 2. 基本概念 3. REM布局 4. VW布局 实现单边边框1px 实现多边边框1px 实现边框圆角 实现容器固定纵横比 5. REM + VW布局 6. 对比选择 方案选择 食用方式 一.前言 说到前端页面的布局方案,可以从远古时代的Table布局说起,然后来到 DIV+CSS布局,之后有了Float布局,Flex布局,Column布局,Grid布局等等. 而另一方面,还有一些 布局概念: 1. 静态布局 直…
一.rem布局基本原理 原理:rem可以理解为一个长度单位,单位rem的值等于网页font-size的值.如果网页的字体大小为默认值16px,那么1rem就等于16px,0.5rem等于8px. 根据这个原理,如果网页默认的字体大小改变,那么单位rem的大小也会改变,我们使用rem做单位的HTML元素的大小也会改变. 比如说:页面中一个div的宽度为2rem,在没有其他任何设置的情况下,他的大小就是32px,这时font-size改变为10px,那么这个div的宽度就会改变为20px. 根据上述…
px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持. (另外需注意chrome强制最小字体为12号,即使设置成 10px 最终都会显示成 12px,当把html的font-size设置成10px,子节点rem的计算还是…
rem布局的开源方案hotcss, 其原理个人理解如下: 手机px = (手机页面宽度/设计稿宽度) * 设计稿px 手机rem = 手机px / fontSize = (手机页面宽度/设计稿宽度) * 设计稿px / fontSize = (设备屏幕宽度/设计稿宽度) * 设计稿px / fontSize hotcss对fontSize的设定 root fontSize = (设备屏幕宽度/320) * 20 = 设备屏幕宽度/16, 将页面16等分,1rem = 1/16 设备宽度 于是 手…