认识
一、绝对长度单位
1.1 px
二、相对长度单位
2.1 em
相对对象: 在 font-size
中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如 width
2.2 rem
相对对象: 根元素的字体大小
2.3 vh
相对对象: 视窗高度的 1%
2.4 vw
相对对象: 视窗宽度的 1%
2.5 vmin
相对对象: 视窗较小尺寸的 1%
2.6 vmax
相对对象: 视图大尺寸的 1%
2.7 百分比
相对对象:
-
height
、top
、bottom
中的百分比值, 是通过包含块的height
值。如果包含块的height
值会根据它的内容变化,而且包含块的position
属性的值被赋予relative
或static
,那么,这些值的计算值为auto
-
width
、left
、right
、padding
、margin
属性由包含块的width
属性值来计算它的百分比值
三、问题
3.1 布局单位
常用的布局单位包括像素(px
),百分比(%
),em
,rem
,vw/vh
。
-
像素(
px
): 是页面布局的基础,一个像素表示终端(电脑、手机、平板等)屏幕所能显示的最小的区域,像素分为两种类型:CSS
像素和物理像素:-
CSS
像素: 为web
开发者提供,在CSS
中使用的一个抽象单位; -
物理像素: 只与设备的硬件密度有关,任何设备的物理像素都是固定的
-
-
百分比(
%
): 当浏览器的宽度或者高度发生变化时,通过百分比单位可以使得浏览器中的组件的宽和高随着浏览器的变化而变化,从而实现响应式的效果。一般认为子元素的百分比相对于直接父元素。 -
em
和rem
相对于px
更具灵活性: 它们都是相对长度单位,它们之间的区别:em
相对于父元素,rem
相对于根元素-
em
: 文本相对长度单位。相对于当前对象内文本的字体尺寸。如果当前行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸(默认16px
)。(相对父元素的字体大小倍数)。 -
rem
:rem
是CSS3
新增的一个相对单位,相对于根元素(html
元素)的font-size
的倍数。作用:利用rem
可以实现简单的响应式布局,可以利用html
元素中字体的大小与屏幕间的比值来设置font-size
的值,以此实现当屏幕分辨率变化时让元素也随之变化。
-
-
vw/vh
是与视图窗口有关的单位,vw
表示相对于视图窗口的宽度,vh
表示相对于视图窗口高度,除了vw
和vh
外,还有vmin
和vmax
两个相关的单位。-
vw
: 相对于视窗的宽度,视窗宽度是100vw
-
vh
: 相对于视窗的高度,视窗高度是100vh
-
vmin
:vw
和vh
中的较小值 -
vmax
:vw
和vh
中的较大值
-
px
、em
、rem
的区别及使用场景:
-
区别:
-
px
是固定的像素,一旦设置了就无法因为适应页面大小而改变 -
em
和rem
相对于px
更具有灵活性,他们是相对长度单位,其长度不是固定的,更适用于响应式布局 -
em
是相对于其父元素来设置字体大小,这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而rem
是相对于根元素,这样就意味着,只需要在根元素确定一个参考值
-
-
场景:
-
对于只需要适配少部分移动设备,且分辨率对页面影响不大的,使用
px
即可 -
对于需要适配各种移动设备,使用
rem
,例如需要适配iPhone
和iPad
等分辨率差别比较挺大的设备
-