CSS 中的rem,em,vh,vw一次说清楚
关于css中的长度单位,我们用的最多就是px,因为他简单直接。但是当一套方案匹配不同终端时,px就会显得过于生硬,不容易变通。
然而rem,em,vh,vw就可以有效的解决这一问题。让我们来看看这些东西是个啥?
首先是rem,W3C官网描述是“font size of the root element”,即rem是相对于根元素。概念不好理解接咋们就直接直接看demo:
DOM结构如下:

CSS 代码如下:

效果如下:

现在对于rem是否有了点认识,设置html的font-size大小后,就有了参照值,其他地方的px就可以替换成rem了,就像demo所展示的html的font-size大小为16px,div中的字体大写分别为1rem,1.5rem,2rem。换算成px就分别分 1* 16=16px,1.5*16=24px,2*16=32px。不仅仅是字体大小,html所有元素的宽高也可以写成rem为单位,同样是参照html的font-size的值。再扩展一下就是说所文档中所有的可以使用px表示的都可以替换成rem。
那么这么做的意义又是什么呢?当你需要做相应式布局时,rem就能发挥其正真的威力。通过匹配不同的设配的屏幕大小,设置其html的font-size的值,然后就可以放心大胆的使用rem,其他的就可以交给浏览器处理了。
em,vh,vw原理大同小异。不同的是参考点不一样,em参考的父节点的font-size的大小,即当父节点的fong-size为12px,子节点设置宽度为10em,font-size为2em,则宽度换算成px是12*10=120px,字体大小为12*2=24px,若孙节点的高度设置10em,那么换算成px又是多少呢? 当然是父节点的fong-size值24px乘10em,结果为240px,所以em永远只关心上一级的font-size。那么问题来了,上一级没有设置font-size怎么办?不要慌,元素的font-size默认继承父节点的font-size值。这下是不是就对em了然于胸了。
接下来是vh和vw。看着简写你可能看不出什么东西。我们展开看看 vh:viewport height,vw:viewport width 。viewport叫做可视区域。这下是不是就感觉明白了vh和vw。没错就是你想的那样,vh和vw分别参照可视区域的高度和宽度。
所以这些单位都是相对的,只要知道参考点,那么就很简单了。目前我所做的项目中,都是统一使用的rem 做的适配,方便有效,谁用谁知道!
作为一个新人,欢迎大家指导批评。
CSS 中的rem,em,vh,vw一次说清楚的更多相关文章
- css中px,em和rem的区别
css中px,em和rem的区别 今天,突然间发现一个特别有意思的问题,就是无意间看到一个网站中的em并不是16px,下面展开了对于px和em以及rem的探究. 首先,px是绝对长度单位,是相对于显示 ...
- CSS中强大的EM
(转)作者:dearjohn ,发布于2012-7-31 http://www.uml.org.cn/html/201207311.asp 使用CSS也好久了,但一直都是在使用“px”来设置Web元素 ...
- CSS中强大的EM(转)
转自:https://www.w3cplus.com/css/px-to-em CSS中强大的EM 作者:大漠 日期:2011-10-27 点击:97370 em 长度单位 编辑推荐:3月31日前,点 ...
- css中单位px,em,rem和vh/vw的理解
>px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认 ...
- CSS各种度量单位----px、em、%、rem、vh/vw、vmin/vmax
本文主要讲下CSS中各类度量单位的意思和区别. 开发中最常用到的css单位是px.em.%.随着css3的出现,带来了更多的度量单位,这些单位为响应式开发,带来很大的好处.各种单位的浏览器兼容性可以去 ...
- CSS中的 REM PX EM
px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的 em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸. ...
- CSS中px,em,rem,pt的区别及四者换算?
本文章重要说明px,em,rem,pt的区别以及四者之间的换算. em单位有如下特点 1. em的值并不是固定的; 2. em会继承父级元素的字体大小. 我们在写CSS的时候如果要用em为单位,需要注 ...
- CSS中px和em属性的特点与区别
详解px和em的特点和区别象素px是我们在定义CSS中经常用到的尺寸大小单位,而em在国外网站中经常被使用,px和em之间究竟有什么区别和特点呢?◆px像素(Pixel),相对长度单位.像素px是相对 ...
- 了解css中px、em、rem的区别并使用Flexible实现vue移动端的适配
本人java菜鸟一名,若有错误,还请见谅. 1.px和em和rem的定义和区别 px:px像素,是相对单位,相对于屏幕的分辨率而言,也就是说,当屏幕的分辨率不同那么px相同,实际看到的大小也会不同. ...
随机推荐
- Jenkins+Git配置
Jenkins+Git配置 一.GitHub上配置 前提:Jenkins能正常打开 将本地文件上传到GitHub上:进入终端 cd Documents cd project git clone htt ...
- dfs.datanode.max.transfer.threads
An HDFS DataNode has an upper bound on the number of files that it will serve at any one time: <p ...
- Cent-Linux腾讯课堂学习笔记
RedHat yum系统下 防火墙 关闭防火墙方法 systemctl stop firewalld 检测防火墙状态 systemctl status firewalld 设置防火墙禁用开机启动 sy ...
- jvm学习006 jvm内存结构分配
主要内容如下: JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一.JVM启动流程: JVM启动时,是由java命令/javaw命令来启动的. 二.JVM基本结构: JVM基本结构图: ...
- ServerSocket简单例题
ServerSocket 简单例题: package com.kaige123.net; /* *凯哥 */ import java.io.FileInputStream; import java.i ...
- FTP服务器 Serv-u 环境搭建
一.安装 *Windows 10 *Serv-u Windows-v15.1.2 *Mysql Mysql 5.7 安装成功后开始配置serv-u. 二.配置 1.新建域(test) 点击新建域,开始 ...
- 开源个.NetCore写的 - 并发请求工具PressureTool
本篇和大家分享的是一个 并发请求工具,并发往往代表的就是压力,对于一些订单量比较多的公司这种情况很普遍,也因此出现了很多应对并发的解决方案如:分布式,队列,数据库锁等: 对于没有遇到过或者不可能线上来 ...
- Kotlin + Spring Boot 请求参数验证
编写 Web 应用程序的时候,经常要做的事就是要对前端传回的数据进行简单的验证,比如是否非空.字符长度是否满足要求,邮箱格式是否正确等等.在 Spring Boot 中,可以使用 Bean Valid ...
- Java映射
1.Student类 package com.zdsofe.javaweb.lianxi1; public class Student { public String stuName; private ...
- 基于vue的颜色选择器color-picker
项目中有用到颜色选择器的童鞋们可以看过来了 关于color-picker的jquery的插件是有蛮多,不过vue组件没有吧,反正我没有找到, 虽然element-ui里面有这个,但是你愿意为了一个小功 ...