【发布时间】:2021-09-24 03:48:52
【问题描述】:
我需要做出响应 line-height 和 background-image 取决于 font-size 值:
p {
font-size: 30px;
line-height: 1.93333333em;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' height='1.93333333em' width='400' viewBox='0 0 400 5' preserveAspectRatio='xMinYMax' %3e%3cline x1='0' y1='0' x2='100%' y2='0' style='stroke:rgb(255,0,0);stroke-width:5' /%3e%3c/svg%3e");
}
@media screen and (max-width: 500px) {
p {
font-size: 15px;
}
}
<p>Hi people!<br>How are you?<br>I`m good!</p>
在这种情况下1em = 30px,所以1.933333em = 58px。如您所见,我也设置了 svg background-image 的 height:height='1.93333333em'。
我预计背景高度将是58px,但实际上它是30px,就像1em = 16px。如果我将height='58px' 设置为background-image,我就会得到我想要的。
如果屏幕尺寸为500px,则line-height 会发生变化,但background-image 的height 不会。
em 如何在 SVG 中工作,如何使 SVG 大小响应?
【问题讨论】:
-
我猜 SVG 内部的 em 与外部的 em 不同
标签: html css svg media-queries