【不一样的CSS】一文让你了解CSS中的各种单位

390 阅读4分钟

【不一样的CSS】一文让你了解CSS中的各种单位

若彼岸繁华落尽,谁陪我看落日流年

写在前面

对 CSS 布局掌握程度决定你在 Web 开发中的开发页面速度。随着 Web 技术的不断革新,实现各种布局的方式已经多得数不胜数了。

最近利用碎片时间,大概用了半个月的时间整理了一个系列,本系列文章总结了 CSS 中的各种布局,以及实现方式及其常用技巧。让你通过该系列文章对 CSS 布局有一个新的认识。

该系列的导航帖点我进入,里面可以快速跳转到你想了解的文章(建议收藏)

CSS 中的单位大体分为一下三种:

  • 绝对单位: 不会因为其他元素的尺寸变化而变化。
  • 相对单位: 没有一个固定的度量值,而是由其他元素尺寸来决定的相对值。
  • 其他单位: 例如角度、颜色等。

在官方文档中只有 绝对单位 和 相对单位,其他单位在 CSS 中也具有单位的功能的值或者函数

绝对单位

CSS 中的绝对单位主要包括以下几种

单位名称
cm厘米
mm毫米
q四分之一毫米
in英寸
pc十二点活字
pt
px像素

不过常用的绝对单位只有 px 像素。剩余的都少使用。

相对长度单位

相对长度单位相对于其他一些东西,比如父元素的字体大小,或者视图端口的大小。使用相对单位的好处是,经过一些仔细的规划,您可以使文本或其他元素的大小与页面上的其他内容相对应。如下是一些比较常用的相对单位。

单位相对于描述
%父元素百分比
em在 font-size 中使用是相对于父元素的字体大小如果父元素 font-size20px ,那么 2em 就是 40px, em 可精确到小数后3位
ex字符“x”的高度ex 指当前字体环境中小写字母 x 的高度
ch数字“0”的宽度ch 指当前字体环境中数字 0 的宽度
rem根元素的字体大小如果根元素字体大小时 20px 那么 2rem 就是 40px
vh视窗高度的1%vh 等于视窗高度的 1/100.例如,如果浏览器的高是 900px, 1vh 求得的值为 9px
vw视窗宽度的1%vw 同理
vmin视窗较小尺寸的1%视口的宽度和高度中比较小的为 100vmin
vmax视图大尺寸的1%视口的宽度和高度中比较大的为 100vmax

其他单位

角度

关于角度的单位主要包含以下四个

单位描述什么时候等于圆
deg360deg 等于一个圆
grad梯度400grad 等于一个圆
rad弧度2πrad 等于一个圆
trun1turn 等于一个圆

fr 单位

fr 用于分配一定长度内的剩余空间。

颜色

rgb()

RGB是一个简称,全称为 Red-Green-Blue,即红-绿-蓝。RGB 色彩模式是工业界的一种颜色标准,是通过对红、绿、蓝三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。

hsl()

HSL是一个简称,全称为 Hue-Saturation-Lightness,即 色调-饱和度-亮度。HSL 色彩模式是一种将 RGB 色彩模型中的点在圆柱坐标系中的表示法。

在 CSS 中使用 HSL 色彩模式是通过 hsl(H, S, L) 函数实现的

  • H 表示色调(是色彩的基本属性,就是平常所说的颜色名称),其值范围为 0 ~ 360 之间的一个角度。
  • S 表示饱和度(饱和度是指颜色中灰色的含量),其值范围为 0% ~ 100% 之间的百分值。
  • L 表示亮度(亮度 是指颜色中黑色的含量),其值使用百分值表示。0%表示黑色,50%表示标准色,100%表示白色。

rgba()

在原基础上增加a,其中 A 为 alpha 表示透明度。

hsla()

在原基础上增加a,其中 A 为 alpha 表示透明度。

HEX

使用十六进制整数指定颜色

calc() 函数

CSS3 新增了一个 calc() 函数,该函数允许在声明 CSS 属性值时执行一些计算。该函数支持四则运算。(乘法必须有一个乘数是数字,除法中 / 后面的树必须是数字)

calc() 函数还支持嵌套语法。

示例代码如下:

.banner {
  width: calc(100% - 80px);
}

嵌套语法

.foo {
  --widthA: 100px;
  --widthB: calc(var(--widthA) / 2);
  --widthC: calc(var(--widthB) / 2);
  width: var(--widthC);
}

原生 CSS 貌似支持变量了,有时间研究一下