【发布时间】:2017-08-27 16:05:09
【问题描述】:
对于响应式网站,我正在尝试使用 SVG 将文本居中并缩放其字体大小,这样我就不需要使用 JavaScript 进行任何计算。
我的第一个问题是我尝试将x="50%" 和y="50%" 与text-anchor="middle" 和alignment-baseline="central" 一起使用,但是虽然这适用于Chrome,但在IE、Edge 和Firefox 中,文本不是垂直居中的,但它的基线是这样文字本身就有点太高了。在没有固定高度的情况下,如何在这些浏览器中垂直居中文本?
我的第二个问题是缩放。到目前为止,我在 Internet 上发现的是使用 lengthAdjust="spacingAndGlyphs" ,但这会产生奇怪的结果,文本看起来会被拉伸。如何像缩放图像一样缩放所有内容?
这是我的起始笔:https://codepen.io/smares/pen/QMVPvN
我还阅读了有关 viewBox 的信息,但我不完全了解如何使用它,因为我没有固定大小的容器。
我必须使用内联 SVG,因为文本实际上是由 Vue 生成的。
【问题讨论】:
-
对于 Firefox 使用显性基线而不是对齐基线。其他 UA 也可能支持主导基线。
标签: svg