我是SVG的新手,我尝试在我创建的形状中添加一些文本。我这样做了:https://fiddle.jshell.net/30kL3mzt/ 但是SVG中的文本随着多边形而变化。是否可以保持文本的大小不变?或者至少要控制字母的大小?
<div id="tab">
<div class='chevron'>
<svg width="25%" height='100%' viewBox="0 0 20 20" preserveAspectRatio="none">
<polygon fill=steelblue stroke-width=0
points="0,0 2,10 0,20 18,20 20,10 18,0" />
<text x="0" y="10" font-family="Verdana" font-size="2" >I love SVG!</text>
</svg>
</div>
</div>
<div id="middle">
<svg width="25%" height='100%' viewBox="0 0 20 20" preserveAspectRatio="none">
<polygon fill=steelblue stroke-width=0
points="0,0 2,10 0,20 18,20 20,10 18,0" />
<text x="0" y="10" font-family="Verdana" font-size="2" >I love SVG!</text>
</svg>
</div>
答案 0 :(得分:1)
如果您不想扩展SVG,为什么还需要文本内容?将文本置于外部并使用CSS将其设置为您想要的位置可能会更好。
答案 1 :(得分:1)
为什么不使用像fontello / icomoon这样的字体库,而不是直接在HTML中添加svg?
我知道,当您为图标选择相同的grid size时,您可以将文字与文字分开放大。
这是因为字体文件中的图标在伪元素:before
和/或:after
上使用CSS。结合line-height
,您可以完全控制图标的大小。 =&GT;行高最好通过图层的height
除以font-size
来计算。
例如:24px div / 20px text = 1.2
在我看来,你与x-browser解决方案相距太远了。