html - 如何在 HTML/SVG/CSS 中的文本基线上画一条线

标签 html css svg

我想在一些文本之后的范围内画一条线。该行应扩展文本的基线。例如:

一些文字______________________(这条线,用下划线创建,太低了)

我的想法:

<span>Some text<svg><line x1=.. y1=.. x2=.. y2=.. /></svg></span>

但是我该如何设置线条的 svg-height 和 y 值?

还有什么建议吗?

最佳答案

这是另一种方法,使用 SVG。

span {
  font-size: 30px;
}

svg.baseline {
  width: 4em;
}

svg.baseline line {
  stroke: red;
  stroke-width: 0.06;
}
<span>
  Some text
  <svg width="1em" height="1em" viewBox="0 0 1 1" preserveAspectRatio="none" class="baseline">
    <line x1="0" y1="0.97" x2="1" y2="0.97" />
  </svg>
</span>

SVG 被视为图像,默认情况下与文本的基线对齐。在 SVG 中,您需要做的就是在 SVG 的最底部以您想要的宽度画一条线。您可以通过更改 CSS 中 SVG 的宽度来设置线条的长度。

这适用于任何字体大小。尝试更改 <span> 的字体大小在 CSS 中。目前设置为 30px。

关于html - 如何在 HTML/SVG/CSS 中的文本基线上画一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37600571/

相关文章:

css - 向右浮动一个 div,而不影响设计

html - 将 '#' 替换为推文按钮中的 %23

jquery - 如何使 "footer"粘在 Facebox(jQuery 插件)对话框的底部

html - 如何在 SVG 背景下固​​定 DIV?

javascript - 一组 html 表格顶部的箭头?

带有内联 SVG 的 CSS 剪辑路径不起作用

html - 为什么 Chrome 的 img 元素的 onerror 事件只触发一次?

html - 横幅图片涵盖了电子商务故事中的侧推车。如何防止这种情况?

html - 将带有背景图像的菜单栏的子项放在 HTML 中的背景图像下方

css - 当屏幕超过 768 时,导航栏右侧菜单上的类似 Fb 的按钮在屏幕外挂起