为什么CSS中的em单元在这种情况下不像预期的那样工作?

bnlyeluc  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(130)

我正在学习字母间距。我在这里使用em单位来表示字母间距。我使用单元的元素除了html没有任何父元素。但是如果我改变HTML的字体大小,字母间距不会改变。
起初,HTML标记在代码中不存在。我试着添加它们,看看它是否有效。我也尝试将font-size设置为:root,但都不起作用。

html {
  font-size: 2px
}

h1 {
  font-family: 'COUTUREBold';
  margin: 0;
  font-size: 38px;
}

.wide {
  font-size: 24px;
  letter-spacing: .5em;
}

.narrow {
  font-size: 48px;
  letter-spacing: -.15em;
}
<link rel="stylesheet" media="screen" href="https://fontlibrary.org//face/couture" type="text/css" />

<h1>Hello World!</h1>
<h1 class="wide">Hello World!</h1>
<h1 class="narrow">Hello World!</h1>

产品编号:https://codepen.io/KAEKrishCodes/pen/ExOYxPY

4uqofj5v

4uqofj5v1#

如果希望字母间距受html元素的字体大小影响,可以使用rem单位代替em作为字母间距。rem单元是相对于根元素的字体大小的,在大多数情况下,根元素是html元素。您可能希望在代码中将所有提到的em更改为rem
例如:

letter-spacing: -.15em;

会变成:

letter-spacing: -.15rem;

不知道我是否正确,这是否是你想做的,但我希望它能有所帮助。

相关问题