美文网首页
css 长度单位 详解

css 长度单位 详解

作者: 东方三篇 | 来源:发表于2021-09-24 10:48 被阅读0次

0. 单位解释

参考: https://www.w3school.com.cn/cssref/css_units.asp

css unit.png

1. CSS 常用单位

  • px
  • em
  • rem
  • %
  • vw/vh
  • vmin/vmax

开发中主要用到的是 px、em、%。在css3中的vw、vh使用也慢慢多了起来。


css px.png

2. px

相对长度单位,浏览器的度量单位,相对于物理像素(显示器屏幕分辨率),1px在高清屏幕下可能占用2个物理像素、甚至3个物理像素,有关物理像素和px之间转换比

3. em

相对于当前DOM元素的font-size。

如果设置当前元素的font-size为0.75em,而其父元素的font-size是16px时,则当前元素的font-size是0.75 * 16px = 12px;
如果设置当前元素的width是10em,而当前元素的font-size是16px(无论是继承自父容器还是设置的)时,则当前元素的width是10 * 16px = 160px;

注意1:任意浏览器的默认字体高都是16px,如果给body元素的font-size设置为62.5%,那body的font-size实际大小是 16px*62.5%=10px,如果所有子元素都以该字体大小使用em作为尺寸单位,相当于1em=10px,这样设置em就非常简单,只要将实际px数值除以10,就是em单位值。

注意2:em相对于px的值并不是固定的,是会随着父元素或者当前元素的font-size不同而变化

4. rem

em是CSS3新增的一个相对单位(root em,根em),相对于根节点(一般为html节点)的font-size,如果html节点设置font-size = 100px,那么文档中的元素设置为0.3rem,则计算为:0.3 * 100px = 30px。

这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明(通过下边样式覆盖上边样式原理),这些浏览器会忽略用rem设定的字体大小

5.%

相对于父元素的长度高度。

注意1:position:fixed时,无论当前元素放在哪里,将相对于窗口宽度。
注意2:position:absolute时,将相对于其相对的元素宽度(递归父元素直到第一个设置了position的元素)。

6. vw/vh

CSS3新增样式,部分浏览器(IE8)不支持。
vh、vw:相对于视窗(Viewport)的高度和宽度,而不是父元素的(CSS百分比是相对于包含它的最近的父元素的高度和宽度)。
1vh 等于1/100的视窗高度,1vw 等于1/100的视窗宽度。
视窗:是指浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小

7. vmax/vmin

CSS3新增样式,部分浏览器(IE8)不支持。
vmin:取视窗高度和宽度的最小值作为基准。
vmax:取视窗高度和宽度的最大值作为基准。
例如:浏览器视窗大小为 window.innerWidth=1000px,window.innerHeight=800px,那么,1vmin=800px/100=8px; 1vmax=1000px/100=10px。

使用场景:做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致

8. px、em、rem的区别

px是固定的像素,一旦设置了就无法因为适应页面大小而改变。

em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。

对于em和rem的区别一句话概括:em相对于父元素,rem相对于根元素。

rem中的r意思是root(根源),这也就不难理解了。

9. vw、vh 与 % 百分比的区别

% 是相对于父元素的大小设定的比率,vw、vh 是视窗大小决定的。

vw、vh 优势在于能够直接获取高度,而用 % 在没有设置 body 高度的情况下,是无法正确获得可视区域的高度的,所以这是挺不错的优势。

10. vmin、vmax 用处

做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。

相关文章

  • css 长度单位 详解

    0. 单位解释 参考: https://www.w3school.com.cn/cssref/css_units....

  • 几个CSS的单位你需要了解一下

    css长度单位 css 长度单位一般我们分为绝对长度单位和相对长度单位 绝对长度单位 绝对长度单位是一个固定的值,...

  • CSS之长度单位

    CSS之长度单位 很多CSS属性要靠长度度量衡才能正确显示元素。因此,CSS中有许多长度单位。CSS中的长度单位分...

  • css 单位和值

    css 单位和值 一、绝对长度单位 常用的绝对长度单位: px pixel 是 CSS 中最常用的长度单位,可以用...

  • css长度单位

    CSS有两种类型的单位长度:相对和绝对。相对长度单位指定了一个长度相对于另一个长度的属性。对于不同的设备,相对长度...

  • CSS - 长度单位

    研究背景 一般用于描述 font-size、padding 或者 border 的长度都使用 px 单位。但最近看...

  • css长度单位

    字体相关相对长度单位 em、ex、ch、rem是字体相关的相对长度单位 em em表示元素的font-size属性...

  • CSS长度单位

    像素 px em 百分比 注意但当给 font-size 设置单位为 em 时,此时计算的标准以 p 的父元素的 ...

  • CSS长度单位

    前言 说到css的单位,大家应该首先想到的是像素单位px,我们在网页布局中一般都是用px,但是近年来自适应网页布局...

  • Css单位

    CSS 单位——来自菜鸟教程 CSS 有几个不同的单位用于表示长度。 一些设置 CSS 长度的属性有 width,...

网友评论

      本文标题:css 长度单位 详解

      本文链接:https://www.haomeiwen.com/subject/lktzgltx.html