发布于 2026-01-06 8 阅读
0

CSS技巧:EM和REM的相对单位;DEV全球展示挑战赛,由Mux呈现:展示你的项目!

CSS技巧:EM和REM的相对单位

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!

我们已经见识过相对计量单位 % 的用法。当我们想要一个元素使用例如 100% 的可用空间时,我们会使用这种相对计量单位。

HTML

<div>
  <img src="img/avatar.png" alt="Avatar">
</div>
Enter fullscreen mode Exit fullscreen mode

CSS

div {
  width: 400px;
}
Enter fullscreen mode Exit fullscreen mode

在上面的例子中,根据图像的大小,图像可能超出我们定义的空间<div>,也可能只占较小的空间。如果我们希望图像占据整个空间<div>,可以使用相对单位 %:

div {
  width: 400px;
}

img {
  width: 100%; /* It occupies 100% of the available space */
}
Enter fullscreen mode Exit fullscreen mode

使用 % 的最大优点是,无论我们在 中输入什么大小<div><img>它始终会跟随其父标签(<div>)的大小。

EM 和 REM 的概念与百分比相同,但它们不是基于元素的大小,而是基于字体的大小。EM 使用父元素的字体大小,而 REM 使用元素的字体大小<html>

HTML

<html>
<head>
    <meta charset="UTF-8">
    <title>An example</title>
</head>
<body>
    <div>
        <img src="img/avatar.png" alt="Avatar">
    </div>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

CSS

html {
  font-size: 10px;
}

div {
  font-size: 20px;
}

img {
  width: 10em; /* The width will be 200px */
  height: 10rem; /* The height will be 100px */
}
Enter fullscreen mode Exit fullscreen mode

使用这些度量单位的优势在于,如果其他元素也使用这些度量单位,并且我们需要按比例调整所有元素的大小,只需在一个地方进行更改即可。这些度量单位非常适合网站需要在不同屏幕尺寸上显示的情况,因为在每种屏幕尺寸上,字体都必须以不同的比例显示,并且彼此之间保持比例。

文章来源:https://dev.to/fariasmateuss/css-tips-relative-units-with-em-and-rem-3n38