http://www.w3chtml.com/css3/units/length/vh.html

https://www.html.cn/book/css/values/length/vh.htm

.em

在做手机端的时候经常会用到的做字体的尺寸单位

说白了 em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5

但是当div进行嵌套的时候,em始终是按照当前div继承的字体大小来缩放,参照后面的例子。

.rem

这里的r就是root的意思,意思是相对于根节点来进行缩放,当有嵌套关系的时候,嵌套关系的元素的字体大小始终按照根节点的字体大小进行缩放。

参照后面给的demo

.vh

vh就是当前屏幕可见高度的1%,也就是说

height:100vh == height:%;

但是有个好处是当元素没有内容时候,设置height:%该元素不会被撑开,

但是设置height:100vh,该元素会被撑开屏幕高度一致。

.vw

vw就是当前屏幕宽度的1%

补充一句,当设置width:%,被设置元素的宽度是按照父元素的宽度来设置,

但是100vw是相对于屏幕可见宽度来设置的,所以会出现50vw 比50%大的情况

<!DOCTYPE html>
<html lang="Zh-cn">
<head>
<meta charset="UTF-8">
<title>恭贺新春</title>
</head>
<style type="text/css" media="screen">
html{
font-size: 14px;
}
.em,
.em > .em-son,
.em > .em-son > .em-grandson {
font-size: .2em;
}
.rem,
.rem > .rem-son,
.rem > .rem-son > .rem-grandson {
font-size: .2rem;
}
.rem-box {
background: #d60b3b;
width:10rem;
height: 10rem;
color: #fff;
text-align: center;
line-height:5rem;
}
.vhvw-box {
background: #d60b3b;
width:50vw;
height: 50vh;
color: #fff;
text-align: center;
line-height:25vh;
}
</style>
<body>
<h1>em 继承父元素的字体大小,来变大或变小,多层嵌套字体变化</h1>
<div class="em">
字体大小 1.2 * (父元素body) = 16px
<div class="em-son">
字体大小 1.2 * (父元素em) = 20px
<div class="em-grandson">
字体大小 1.2 * (父元素em-son) = 24px
</div>
</div>
</div>
<br>
<h1>rem 继承根节点元素的字体大小,来变大或变小,多层嵌套字体不变化</h1>
<div class="rem">
字体大小 1.2 * (根节点html) = 16px
<div class="rem-son">
字体大小 1.2 * (根节点html) = 16px
<div class="rem-grandson">
字体大小 1.2 * (根节点html) = 16px
</div>
</div>
</div>
<br>
<h1>rem 也可作为固定长度单位设置宽高等</h1>
<div class="rem-box">
宽: * = 140px<br>
高: * = 140px
</div>
<br>
<h1>vh,vw 屏幕可见区域的高度,宽度的1%</h1>
<div class="vhvw-box">
宽:屏幕宽度的50%<br>
高:屏幕高度的50%
</div>
</body>
</html> <!DOCTYPE html>
<html lang="Zh-cn">
<head>
<meta charset="UTF-8">
<title>恭贺新春</title>
</head>
<style type="text/css" media="screen">
html{
font-size: 14px;
}
.em,
.em > .em-son,
.em > .em-son > .em-grandson {
font-size: .2em;
}
.rem,
.rem > .rem-son,
.rem > .rem-son > .rem-grandson {
font-size: .2rem;
}
.rem-box {
background: #d60b3b;
width:10rem;
height: 10rem;
color: #fff;
text-align: center;
line-height:5rem;
}
.vhvw-box {
background: #d60b3b;
width:50vw;
height: 50vh;
color: #fff;
text-align: center;
line-height:25vh;
}
</style>
<body>
<h1>em 继承父元素的字体大小,来变大或变小,多层嵌套字体变化</h1>
<div class="em">
字体大小 1.2 * (父元素body) = 16px
<div class="em-son">
字体大小 1.2 * (父元素em) = 20px
<div class="em-grandson">
字体大小 1.2 * (父元素em-son) = 24px
</div>
</div>
</div>
<br>
<h1>rem 继承根节点元素的字体大小,来变大或变小,多层嵌套字体不变化</h1>
<div class="rem">
字体大小 1.2 * (根节点html) = 16px
<div class="rem-son">
字体大小 1.2 * (根节点html) = 16px
<div class="rem-grandson">
字体大小 1.2 * (根节点html) = 16px
</div>
</div>
</div>
<br>
<h1>rem 也可作为固定长度单位设置宽高等</h1>
<div class="rem-box">
宽: * = 140px<br>
高: * = 140px
</div>
<br>
<h1>vh,vw 屏幕可见区域的高度,宽度的1%</h1>
<div class="vhvw-box">
宽:屏幕宽度的50%<br>
高:屏幕高度的50%
</div>
</body>
</html>

CSS3 长度单位的更多相关文章

  1. 浅谈css3长度单位rem,以及移动端布局技巧

    rem是什么? rem是css3中新增加的一个单位属性(font size of the root element),根据页面的根节点的字体大小进行转变的单位.root!!!!!!!!!根节点,也就是 ...

  2. css3新属性的学习使用

    display 可选值:none隐藏元素: block显示为块级元素: inline显示为行级元素 inlineblock显示为内联块级元素,本身将是一个行级元素,但是拥有 块级元素的所有属性,比如宽 ...

  3. css3带你实现酷炫效果

    css3 私有前缀 -webkit- chrome/safari等webkit内核浏览器 -moz- firfox -o- opera -ms- IE css3 盒子模型 box-sizing 值co ...

  4. CSS 高级

    1.CSS 盒模型(Box Model) 所有 HTML 元素都可以看作是盒子,在 CSS 中,“Box Model”这一术语主要是在布局时使用. CSS 盒模型(Box Model)规定了处理元素内 ...

  5. 学习HTML5的第二周

    ---恢复内容开始--- 这是我学习H5的第二周,在本周,我独立完成了一个网站的首页和一个二级页,虽然在做网页的时候我遇到了许多问题,但我自己想办法解决了其中的大部分,只留下了一小部分没有头绪的问题等 ...

  6. H5手机页面剖析

    <!--强制使用webkit内核进行渲染--><meta http-equiv="X-UA-COMPATIBLE" content="IE=edge, ...

  7. 第七十七节,CSS3前缀和rem长度单位

    CSS3前缀和rem长度单位 学习要点: 1.CSS3前缀 2.长度单位rem 本章主要探讨HTML5中CSS在发展中实行标准化的一些问题,重点探讨CSS3中新属性前缀问题和新的单位rem. 一 CS ...

  8. CSS3与页面布局学习总结(四)——页面布局大全

    一.负边距与浮动布局 1.1.负边距 所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-100%.当一个元素与另一个元素margin取负值时将拉近距离.常见的功能 ...

  9. CSS3与页面布局学习总结(一)——概要、选择器、特殊性与刻度单位

    web前端开发者最最注的内容是三个:HTML.CSS与JavaScript,他们分别在不同方面发挥自己的作用,HTML实现页面结构,CSS完成页面的表现与风格,JavaScript实现一些客户端的功能 ...

随机推荐

  1. 【未知来源】Happy

    题意 给出一个 \(n\) 个节点的树,两点之间有且仅有一条路径相连. 给出 \(m\) 个点对 \(x_i,y_i\),如果添加一条双向边 \((u,v)\) 后 \(x_i\) 和 \(y_i\) ...

  2. ELK是什么?

    ELK = ElasticSearch + Logstash + Kibana  Elasticsearch:后台分布式存储以及全文检索 Logstash :  日志加工.“搬运工” Kibana : ...

  3. CI/CD----jenkins+gitlab+django(内网)

    1.py第三方包获取 ./pip3 ./pip3 -i "http://pypi.douban.com/simple/" --trusted-host pypi.douban.co ...

  4. qt5--自定义控件封装

    视频教程地址:https://www.bilibili.com/video/av51766541/?p=30

  5. Python 面向对象Ⅲ

    Python内置类属性 __dict__ : 类的属性(包含一个字典,由类的数据属性组成) __doc__ :类的文档字符串 __name__: 类名 __module__: 类定义所在的模块http ...

  6. dede cms 怎样调用年月日

    一: 首页:([field:pubdate function='strftime("%m-%d",@me)'/])==(5-15)([field:pubdate function= ...

  7. jquery text选择器 语法

    jquery text选择器 语法 作用::text 选择器选取类型为 text 的 <input> 元素.大理石平台检定规程 语法:$(":text") jquery ...

  8. 直接选择排序(Straight Selection Sort)

    1.定义 选择排序(Selection Sort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕. 常用的选择排序方法有直接选择排序和堆 ...

  9. [JZOJ6244]【NOI2019模拟2019.7.1】Trominoes 【计数】

    Description n,m<=10000 Solution 考虑暴力轮廓线DP,按顺序放骨牌 显然轮廓线长度为N+M 轮廓线也是单调的 1表示向上,0表示向右 N个1,M个0 只能放四种骨牌 ...

  10. sh_11_字典的其他操作

    sh_11_字典的其他操作 xiaoming_dict = {"name": "小明", "age": 18} # 1. 统计键值对数量 p ...