绝对单位是固定的,不会随视口或其他元素的大小变化。
单位 | 描述 | 示例 | 适用场景 |
---|---|---|---|
px | 像素,固定大小 | font-size: 16px; | 需要精确控制尺寸的场景 |
相对单位根据上下文环境或根元素进行计算。
单位 | 描述 | 相对参考 | 示例 | 适用场景 |
---|---|---|---|---|
% | 百分比 | 父元素的相应属性值 | width: 50%; | 宽度、高度、内外边距等 |
em | 相对当前元素的字体大小 | 当前元素的 font-size | padding: 2em; | 内外边距、字体大小,相对于父元素变化 |
rem | 相对根元素的字体大小 | 根元素的 font-size | margin: 1rem; | 全局统一控制字体大小和布局 |
vh | 视口高度的百分比 | 视口高度 | height: 50vh; | 高度、内外边距,响应视口高度变化 |
vw | 视口宽度的百分比 | 视口宽度 | width: 50vw; | 宽度、内外边距,响应视口宽度变化 |
vmin | 视口宽度和高度中较小的百分比 | 视口宽度或高度 | font-size: 5vmin; | 字体大小、内外边距,响应最小视口尺寸 |
vmax | 视口宽度和高度中较大的百分比 | 视口宽度或高度 | font-size: 5vmax; | 字体大小、内外边距,响应最大视口尺寸 |
ch | 相对“0”字符的宽度 | 当前字体的 0 字符宽度 | width: 20ch; | 宽度、内外边距,相对字符宽度 |
ex | 相对小写字母 x 的高度 | 当前字体的小写 x 高度 | font-size: 2ex; | 字体大小、内外边距,相对字符高度 |
lh | 相对当前行高 | 当前元素的行高 | margin-bottom: 2lh; | 内外边距,相对行高 |
px
(像素).example {
font-size: 16px;
width: 100px;
height: 50px;
}
em
(相对单位)font-size
是 16px,那么 1em
就等于 16px。.example {
font-size: 16px; /* 基础字体大小 */
padding: 2em; /* 32px */
}
rem
(根元素相对单位)<html>
)的字体大小。例如,若根元素的 font-size
是 16px,那么 1rem
就等于 16px。:root {
font-size: 16px; /* 根元素字体大小 */
}
.example {
font-size: 1.5rem; /* 24px */
margin: 2rem; /* 32px */
}
vh
(视口高度)1vh
等于视口高度的 1%。.example {
height: 50vh; /* 视口高度的 50% */
}
vw
(视口宽度)1vw
等于视口宽度的 1%。.example {
width: 50vw; /* 视口宽度的 50% */
}
vmin
(最小视口单位)1vmin
等于视口宽度或高度中较小者的 1%。.example {
font-size: 5vmin; /* 视口宽度和高度中较小者的 5% */
}
vmax
(最大视口单位)1vmax
等于视口宽度或高度中较大者的 1%。.example {
font-size: 5vmax; /* 视口宽度和高度中较大者的 5% */
}
ch
(字符宽度).example {
width: 20ch; /* 相当于 20 个“0”字符的宽度 */
}
ex
(x 高度).example {
font-size: 2ex; /* 相当于 2 个小写字母“x”的高度 */
}
lh
(行高).example {
margin-bottom: 2lh; /* 相当于 2 倍的行高 */
}
px
。em
或 rem
。vh
, vw
, vmin
, vmax
。ch
, ex
。lh
。通过合理选择和组合这些单位,可以实现灵活和高效的 CSS 设计,适应各种不同的需求和场景。