1,em单位(css3新增单位)

em:就是一种长度单位,它是参照当前元素的字号,如果没有设置,就参照父容器,一直到浏览器的默认字号大小

em 是相对长度单位(参照父元素),其参照当前元素字号大小,如果当前元素未设置字号则会继承其祖先元素字号大小。

比如:当前盒子的字号大小为:

.box {
font-size:16px;
width:10em;
height:10em;
}
/*那么此时,盒子宽高为 160px X 160px*/

2,rem单位(css3新增单位)

rem:也是一种长度单位,但不同的是,rem参照的是 html的字体大小,而为元素设置宽高的,而不是参照自身字号,或者父元素的字号

l例如:

/*浏览器的默认字号是:16px*/
.remBox {
width:10em;
height:10em;
font-size:12px;
}
/*此时盒子大小不是 120X120,而是160X160*/

2.1 rem实现移动端适配方法

步骤:

1, 认识常见的移动设备宽度有:320px  360px  375px  414px

2,将 美工设计好的稿件 人为地分为若干份 :此处我分为 20 份;

****美工的设计稿一般都是 640px 或者 750px

****我们以 640px 的 UI 为例。一般我们把 640px 的 UI 分成 20份,那么每一份的大小为 32px。那么 750px 的 UI 分成 20份,那么每一份的大小为 37.5px。

3,此时我就可以根据需要划分 n份 来分布为每一个盒子

实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>rem实现移动设备的适配</title>
<style type="text/css">
@media screen and (device-width:320px) {
html {
font-size: 16px;
}
}
@media screen and (device-width:360px) {
html {
font-size: 18px;
}
}
@media screen and (device-width:375px) {
html {
font-size: 18.75px;
}
}
@media screen and (device-width:414px) {
html {
font-size: 20.7px;
}
}
.allBox {
width: 10rem;
height: 10rem;
background-color: pink;
}
</style>
</head>
<body>
<div class="allBox"> </div> </body>
</html>
/*这样子,无论在哪一种主流的移动设备中,都可以占到整个宽度的一半*/

2.2 如何对美工的设计稿划分,如何放到移动端捏,如下

将美工设计好的稿件 人为地分为若干份 :此处我分为 20 份;

****美工的设计稿一般都是 640px 或者 750px

****我们以 640px 的 UI 为例。一般我们把 640px 的 UI 分成 20份,那么每一份的大小为 32px。那么 750px 的 UI 分成 20份,那么每一份的大小为 37.5px。

如果在  美工稿(640px)上面 有一个 400X400  的盒子,就可以通过如下代码实现在设备上的占比:

.box400 {
width:400/32rem;
height:400/32rem;
}
/*前提是已经分为了20份*/
/*此时该盒子在对应的移动设备也占了相对应的份数*/

CSS-单位em 和 rem的更多相关文章

  1. css中单位em和rem

    一.介绍 1.em w3cschool中给出css中尺寸单位如下: 单位 描述 % 百分比 in 英寸 cm 厘米 mm 毫米 em 1em 等于当前的字体尺寸. 2em 等于当前字体尺寸的两倍. 例 ...

  2. css中单位em和rem的区别

    在css中单位长度用的最多的是px.em.rem,这三个的区别是: px是固定的像素,一旦设置了就无法因为适应页面大小而改变. em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定 ...

  3. css单位em、px、rem和pt的区别

    1.PX :像素(Pixel) PX是相对长度单位,它是相对于显示器屏幕分辨率而言的. 优缺点:比较稳定和精确,但在浏览器中放大或缩放浏览页面时会出现页面混乱的情况. 2.EM:是相对长度单位. EM ...

  4. Css单位px,rem,em,vw,vh的区别

    px px就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位.像素px是相对于显示器屏幕分辨率而言的 em em是相对长度单位.相对于当前对象内文本的字体尺寸(参考物是父元素的font-s ...

  5. 分清css的em和rem

    在css中单位长度用的最多的是px.em.rem,这三个的区别是: px是固定的像素,一旦设置了就无法因为适应页面大小而改变. em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定 ...

  6. css3单位em,rem,px,vw,vh等

    昨天发现了个好用的方法去设置手机端的rem单位,在这里记录下. html{ font-size:calc(100vw/7.5);} 这是按照750的设计稿(也就是iphone6的设计稿). 100vw ...

  7. CSS中em、rem和px的区别

    任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px,1rem=16px. EM特点  1. em的值并不是固定的: 2. em会继承父级元素的字体大小. rem特点 r ...

  8. css中单位px、pt、em和rem的区别

    国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? px :像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS ...

  9. css中单位px,em,rem和vh/vw的理解

    >px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认 ...

  10. CSS中的单位px、em、rem、%、vw、vh、vm

    px 相对长度单位,像素px 是相对于显示器屏幕分辨率而言的.是我们网页设计常用的单位,也是基本单位. 通过 px 可以设置固定的布局或者元素大小,缺点是没有弹性.用 px 设置字体大小时,比较稳定和 ...

随机推荐

  1. 第一章Java学习(查漏补缺)

    第一章主要内容: 1.Java的地位:网络地位 语言地位 需求地位 2.Java的特点:①简单 面向对象 平台无关:软件的运行不因操作系统,处理器的变化而无法运行或出现运行错误. ②多线程 动态 3. ...

  2. 「JavaScript面向对象编程指南」原型

    在 JS 中,函数本身也是一个包含了方法(如apply和call)和属性(如length和constructor)的对象,而prototype也是函数对象的一个属性 function f(){} f. ...

  3. TV TimeShift和PVR的区别

    Timeshift是在PVR菜单下,PVR菜单下一般有两个功能一个是刻录功能,一个是Timeshift功能,这两个功能都需要u盘或者内存卡的支持,刻录时把当前的节目刻录进优盘想看的时候还可以打开看,T ...

  4. 帆软报表(finereport)间格运算常用公式

    1.1在C3(占比)单元格中直接使用占比公式:=PROPORTION(B3):占比:当前值占总值的比例 1.2 计组内占比注:C2[!0]{A2=$A2},表示C2扩展出来地区相同的单元格.sum(C ...

  5. 洛谷P3307 [SDOI2013]项链 [polya定理,莫比乌斯反演]

    传送门 思路 很明显的一个思路:先搞出有多少种珠子,再求有多少种项链. 珠子 考虑这个式子: \[ S3=\sum_{i=1}^a \sum_{j=1}^a\sum_{k=1}^a [\gcd(i,j ...

  6. 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

    直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问题:找不到SCOTT员工了,只有13条数据,这显然不合理:这就是内连接的缺 ...

  7. vue的动态路由(登录之后拿到动态路由通过addRouters()动态添加路由)

    登录后我们拿到路由动态路由,后端传的数据可能为这个 { path: '/index', meta: { title: '首页', icon: 'icon-shouye', tab_index: , / ...

  8. LoadRunner运行错误集

    1.error-27796错误解决方法: 在负载生成器的注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters ...

  9. 树链剖分——NOI2015

    8说了上代码 给定一棵树,两种操作 a x:x->root路径上的点权值置1 b x: 把x的子树所有结点权值置0 树上的区间更新操作,显然是要维护dfs 第一个操作暴力显然是t,用树剖把复杂度 ...

  10. powermock单元测试小结

    最近时不时的需要单元测试来写覆盖率.简单总结一下日常心得: 1.首先指明需要测试的类:@PrepareForTest({ RewardGoldServiceImpl.class }) 2.其次在测试类 ...