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. 使用scrapy爬虫,爬取17k小说网的案例-方法二

    楼主准备爬取此页面的小说,此页面一共有125章 我们点击进去第一章和第一百二十五章发现了一个规律 我们看到此链接的  http://www.17k.com/chapter/271047/6336386 ...

  2. 【转】详解web.xml中元素的加载顺序

    顺序为: context-param --> listeners --> filters --> servlets(如DispatcherServlet等) 详见<https: ...

  3. linux系统自动备份打包部署脚本

    1.使用jenkins配置任务 2.执行脚本放在/home/guard/目录下 #!/bin/sh #author wangxiangyu #当前时间 DATE=$(date +%Y%m%d) #环境 ...

  4. story 泄露服务器libc版本

    记录下学到的姿势,利用信息泄露得到服务器libc 至少两个函数偏移,利用libc-databse得到服务器libc版本 传送门 泄露脚本如下 from pwn import * context.log ...

  5. linux的cron

    linux系统由cron(crond)这个系统服务来控制的,linux系统上原来有非常多的计划性工作,因此,这个系统服务是默认启动的.cron进程每分钟会定期检查是否有要执行的任务,如果有就自动执行该 ...

  6. Django—常用功能

    索引 一.静态文件 二.中间件 三.Admin站点 3.1 列表页选项 3.2 编辑页选项 3.3 重写模板 四.上传图片 4.1 在管理页面admin中上传图片 4.2 自定义form表单中上传图片 ...

  7. Python中的命名空间概念

    python使用命名空间记录变量.python中的命名空间就像是一个dict,key是变量的名字,value是变量的值. python中,每个函数都有一个自己的命名空间,叫做local namespa ...

  8. 开源 rafy4j 框架

    最近带的几个产品和项目都是以 java 为主开发语言的.所以,月初,我将 rafy 框架的部分代码转换到 java 语言,懒得想新名字,直接就叫 rafy4j,并将该框架的代码开源了.项目地址: ht ...

  9. CTO 能力模型(简化版)

    最近思考了很多,我在大贲这几年的工作内容.从一开始到现在,伴随着大贲从一二十人,走到了现在的两百多人.我的工作也从一开始的带头冲锋陷阵,逐步转移到了带领产品研发,再到后来的全公司多业务线的技术管理工作 ...

  10. Cocos动作执行时,同时执行完毕再进行下一步的方式

    在js中,runAction是统一保存起来等单个文件运行完了再统一进行回调运行的,所以如果想在动作执行完毕之后调用某个函数,那这个函数就应该存在于回调函数中,不会就不能同步了