将多个 <svg> 块居中元素 [英] Centering multiple blocks of <svg> elements
问题描述
如果我在 svg
中有两个堆叠的 text
块,第二个更大,第二个被切断.
<div id="fixed-target" style="display:block; margin:0 auto; width:100%; height:103px; border:0px solid #000; overflow-x:auto;><svg width="654" height="83"><text text-anchor="middle" x="50%" y="59" font-family="Abbey" font-size="60px"style="font:bold 80px Arial; color:#fff; fill:rgb(0,0,0);"><tspan dy="15">一些测试文本</tspan></svg>
<div id="fixed-target" style="display:block; margin:0 auto; width:100%; height:103px; border:0px solid #000; overflow-x:auto; "><svg width="654" height="83"><text text-anchor="middle" x="50%" y="59" font-family="Abbey" font-size="60px"style="font:bold 80px Arial; color:#fff; fill:rgb(0,0,0);"><tspan dy="15">一个非常非常长的测试文本块</tspan></svg>
我怎样才能把它标记出来,这样更长的就不会被切断?
这里基本上有 3 个选项
- 增加
元素的宽度.您可以将其设为 100%,这将是
元素容器的大小.
- 将字体变小,使文本适合
元素
- 使用更多
元素将文本显示在多行上
我刚刚将下面的第二个 <svg>
元素设置为任意宽.
<div id="fixed-target" style="display:block; margin:0 auto; width:100%; height:103px; border:0px solid #000; overflow-x:auto; "><svg width="654" height="83"><text text-anchor="middle" x="50%" y="59" font-family="Abbey" font-size="60px"style="font:bold 80px Arial; color:#fff; fill:rgb(0,0,0);"><tspan dy="15">一些测试文本</tspan></svg>
<div id="fixed-target" style="display:block; margin:0 auto; width:100%; height:103px; border:0px solid #000; overflow-x:auto; "><svg width="1554" height="83"><text text-anchor="middle" x="50%" y="59" font-family="Abbey" font-size="60px"style="font:bold 80px Arial; color:#fff; fill:rgb(0,0,0);"><tspan dy="15">一个非常非常长的测试文本块</tspan></svg>