CSS - 测量单位

你好,未来的网页设计师们!今天,我们将踏上一段激动人心的旅程,探索CSS测量单位的世界。作为你友好的邻居电脑老师,我在这里指导你了解这个网页设计的基本方面。所以,拿起你的虚拟尺子,让我们来测量一些CSS吧!

CSS - Measurement Units

长度单位

在CSS中,我们有多种方式来测量和定义大小。这就像拥有一个装满不同尺子的工具箱,每个都适合特定的任务。让我们从基础开始:

绝对长度单位

这些是很直接的单位,就像你尺子上的英寸:

单位 描述
px 像素
in 英寸
cm 厘米
mm 毫米
pt
pc 皮卡

这里有一个简单的例子:

.box {
width: 100px;
height: 2in;
margin: 10mm;
}

在这段代码中,我们创建了一个宽100像素、高2英寸、四周边距为10毫米的盒子。这就像建造一个微小的、精确的纸箱!

CSS 测量单位 - em 单位

现在,让我们来谈谈 'em' 单位。它是一个相对单位,基于元素的字体大小。把它想象成一个根据周围环境改变大小的变色龙。

.parent {
font-size: 16px;
}

.child {
font-size: 1.5em; /* 这将是 24px */
padding: 2em;     /* 这将是 48px */
}

在这个例子中,子元素的字体大小是父元素的1.5倍,它的内边距是它自己字体大小的两倍。这就像一个大小递变的俄罗斯套娃!

CSS 测量单位 - ch 单位

'ch' 单位基于 '0'(零)字符的宽度。它在创建等宽字体列布局时特别有用。

.code-block {
width: 80ch;
font-family: monospace;
}

这创建了一个宽80个字符的代码块,对于那些怀念80列终端的日子的人来说,这是完美的!

CSS 测量单位 - rem 单位

'rem' 代表 "根 em"。它与 'em' 类似,但总是相对于根元素(通常是 <html>),而不是父元素。

html {
font-size: 16px;
}

.box {
font-size: 1.5rem; /* 总是 24px,不管父元素 */
padding: 2rem;     /* 总是 32px */
}

这对于在文档中保持一致的尺寸非常棒,就像为你的整个网站拥有一份主蓝图。

CSS 测量单位 - lh 和 rlh 单位

'lh' 代表元素的 "行高",而 'rlh' 是 "根行高"。这些是较新的单位,非常适合排版中的垂直节奏。

.paragraph {
line-height: 1.5;
margin-bottom: 1lh;
}

这设置了段落下方的边距正好是行高,创建了一个和谐的垂直节奏。这就像指挥一个文本的交响乐团!

CSS 测量单位 - vh 单位和 vw 单位

'vh' 和 'vw' 分别代表 "视窗高度" 和 "视窗宽度"。它们是基于视窗大小的百分比单位。

.hero {
height: 100vh;
width: 100vw;
}

这创建了一个始终填满整个屏幕的英雄部分,无论设备大小如何。这就像拥有一个总是完美适配的响应式广告牌!

CSS 测量单位 - vmin(视窗最小)和 vmax(视窗最大)单位

这些单位基于视窗的较小或较大尺寸,视情况而定。

.square {
width: 50vmin;
height: 50vmin;
}

这创建了一个完美的正方形,始终是较小视窗尺寸的一半。这就像拥有一个总是保持比例的变形正方形!

CSS 测量单位 - vb 单位

'vb' 代表 "视窗块大小"。它与 'vh' 类似,但它尊重文档的书写模式。

.sidebar {
width: 20vb;
}

这创建了一个侧边栏,始终是视窗块尺寸的20%,这对于具有不同书写方向的多语言站点非常有用。

CSS 测量单位 - vi 单位

'vi' 是 "视窗内联大小"。它类似于 'vw',但同样,它尊重书写模式。

.header {
height: 10vi;
}

这创建了一个始终是视窗内联尺寸10%的标题,无缝地适应不同的书写模式。

示例 - 百分比

CSS中的百分比总是相对于某物的。让我们看看它们的实际应用:

.container {
width: 80%;
margin: 0 auto;
}

.child {
width: 50%;
padding: 5%;
}

在这里,容器是其父元素宽度的80%,居中通过自动边距实现。子元素是容器宽度的一半,内边距是容器宽度的5%。这就像俄罗斯套娃,但带有不可见的盒子!

示例 - 数字

有时,CSS属性根本不需要单位。让我们看一些例子:

.box {
opacity: 0.5;
line-height: 1.5;
z-index: 100;
}

在这里,不透明度是0到1之间的值,行高是字体大小的倍数,z-index只是一个简单的数字,用于堆叠顺序。这就像拥有一个音量旋钮、一个文本间距器和一层排序器一样!

那么,亲爱的朋友们!我们已经穿越了CSS测量单位的土地,从熟悉的像素到奇异的视窗单位。记住,选择正确的单位就像挑选合适的工具一样 - 它可以让你的生活更轻松,设计更健壮。所以,去测量吧,但要负责任!

Credits: Image by storyset