扫盲 CSS 中的单位

简介: 在 CSS 中,对于尺寸属性的值一般可以分为以下几类:关键字、数值、百分比。关键字一般有 initial、unset 等,百分比则是相对值,常见的是相对于上级 BFC 元素的比例。当然还有包括纯数字值的如 line-height 可以为纯数字,本文主要讨论常见数值。

在 CSS 中,对于尺寸属性的值一般可以分为以下几类:

  • 关键字
  • 数值
  • 百分比

关键字一般有 initial、unset 等,百分比则是相对值,常见的是相对于上级 BFC 元素的比例。

当然还有包括纯数字值的如 line-height 可以为纯数字,本文主要讨论常见数值。

数值一般由数字和单位来组成,如角度中的 90deg、长度 100px、时间 0.3s 等,其中 0 较为特殊,某些时候可以省略单位。

下面会主要讨论几种类型的单位:

角度单位

角度一般用在 css 渐变、旋转等场景下,包含以下四种单位:

  • deg
  • grad
  • rad
  • turn

我们最常用的是 deg,就是我们常说的角度的度数,一圈为 360 度。

grad 则为 Gradian,表示梯度,了解较少,一般会在地质学中使用,对应的一圈为 400 度。

rad 则表示弧度,和 π 相关,对应的一圈为 2π 即 6.2832rad。

turn 是最简单的,代表一圈。

所以 1turn = 6.2832rad = 400grad = 360deg,常用的记住 turn 和 deg 即可。

时间单位

时间主要用在 css 动画、渐变之中,只包含两个单位:s 和 ms。

需要注意的是不同于长度单位和角度单位,0 在用于时间时不可以省略单位,即 0 无法代表 0s,如果使用了会导致 css 表达式失效。

长度单位

在说下我们最常用的长度单位,除了最常见的 px 和 em 外,长度单位中还包括了多大几十个单位,下面分为三类来说下:

绝对长度单位

绝对长度单位最好理解,就是和屏幕的像素点相关,除了 px 外,还包括 cm、mm、Q、in、pc、pt 这几种,都是在平时的网页开发中很少使用的单位。

px 为像素,但是不是对应屏幕的像素点,而是对应系统分辨率渲染的像素点。

另外几个单位可以看到很多熟悉的物理尺寸,他们都是主要应用于打印,web 开发中则很少使用,要注意这里的 cm 等单位在屏幕中的展示并不等同于物理世界中的物理尺寸,而是和屏幕的 PPI 相关。只有在打印领域才会和真实物理尺寸相关。

字体相对单位

字体相对单位包括常用的 em、rem,还有一些比较冷门的如 ex、ch、ic,另外还有几个实验性质的包括 cap,lh、rlh。

em 为相对当前元素的字号,比如当前元素字号为 12px,1.5em 则为 18px,rem 和 em 类似,不过是相对于 root 元素的字号,一般指 html。

ex、ch、ic 三个单位都是和字体相关,ex 代表将当前字体中 x 的高度作为单位,ch 则代表将当前字体中的 0 的高度作为单位,ic 则是将当前字体中的 字高度作为单位。

而后面新增的 cap 和上述三个很类似,代表着大写字母的高度。

lh、rlh 和 em、rem 很类似,一个相对于当前的行高,一个相对于根元素的行高。

视口相对单位

除了上面和字体、字号相关的尺寸,还有一些和视口(viewport)相关的相对单位,如常见的 vh、vw、vmin、vmax,和 vb、vi。

vh 指视口高度的百分之一,vw 则为视口宽度的百分之一,即 viewport 的高度 = 100vh,viewport 宽度 = 100vw。

vmin 和 vmax 则是相对于视口中较长或较小的边,如视口宽度大于高度,则 vmin 代表视口高度的百分之一,反之则为视口宽度的百分之一。

vb 和 vi 则是相对于浏览器初始化的视口,目前只有最新版 firefox 支持。

分辨率

除了上述几个常见单位外,css 还包含分辨率的单位,一般用于媒体查询中:

@media print and (min-resolution: 300dpi) {
}
复制代码

主要有三个单位:dpi、dpcm、dppx,dpi 还有个别名为 x。

相关文章
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1277 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
318 34
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
883 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
985 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
700 33
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
326 24
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
479 5
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
1058 7
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
290 5

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    575
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    439
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    439
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    287
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    553
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    729
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1421
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    316
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1171
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    510