跳到主要内容

认识

2023年10月07日
柏拉文
越努力,越幸运

一、绝对长度单位


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 百分比

相对对象:

  • heighttopbottom 中的百分比值, 是通过包含块的height值。如果包含块的 height 值会根据它的内容变化,而且包含块的 position 属性的值被赋予 relativestatic ,那么,这些值的计算值为 auto

  • widthleftrightpaddingmargin 属性由包含块的width属性值来计算它的百分比值

三、问题


3.1 布局单位

常用的布局单位包括像素(px),百分比(%),emremvw/vh

  • 像素(px: 是页面布局的基础,一个像素表示终端(电脑、手机、平板等)屏幕所能显示的最小的区域,像素分为两种类型:CSS像素和物理像素:

    • CSS像素: 为web开发者提供,在CSS中使用的一个抽象单位;

    • 物理像素: 只与设备的硬件密度有关,任何设备的物理像素都是固定的

  • 百分比(%: 当浏览器的宽度或者高度发生变化时,通过百分比单位可以使得浏览器中的组件的宽和高随着浏览器的变化而变化,从而实现响应式的效果。一般认为子元素的百分比相对于直接父元素。

  • emrem相对于px更具灵活性: 它们都是相对长度单位,它们之间的区别:em相对于父元素,rem相对于根元素

    • em: 文本相对长度单位。相对于当前对象内文本的字体尺寸。如果当前行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸(默认16px)。(相对父元素的字体大小倍数)。

    • rem: remCSS3新增的一个相对单位,相对于根元素(html元素)的font-size的倍数。作用:利用rem可以实现简单的响应式布局,可以利用html元素中字体的大小与屏幕间的比值来设置font-size的值,以此实现当屏幕分辨率变化时让元素也随之变化。

  • vw/vh是与视图窗口有关的单位,vw表示相对于视图窗口的宽度,vh表示相对于视图窗口高度,除了vwvh外,还有vminvmax两个相关的单位。

    • vw: 相对于视窗的宽度,视窗宽度是100vw

    • vh: 相对于视窗的高度,视窗高度是100vh

    • vmin: vwvh中的较小值

    • vmax: vwvh中的较大值

pxemrem的区别及使用场景:

  • 区别:

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

    • emrem相对于px更具有灵活性,他们是相对长度单位,其长度不是固定的,更适用于响应式布局

    • em是相对于其父元素来设置字体大小,这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而rem是相对于根元素,这样就意味着,只需要在根元素确定一个参考值

  • 场景:

    • 对于只需要适配少部分移动设备,且分辨率对页面影响不大的,使用px即可

    • 对于需要适配各种移动设备,使用rem,例如需要适配iPhoneiPad等分辨率差别比较挺大的设备