【发布时间】:2019-05-06 07:08:48
【问题描述】:
我试图弄清楚 svg viewBox 是如何工作的,但下面的代码破坏了所有逻辑。
<svg width="100" height="100" viewBox="0 0 1 20">
<circle cx="10" cy="10" r="10" fill="red"/>
</svg>
在我的现实中,viewBox 用于定义要在视口中显示的 svg 画布区域。这段代码的结果应该是最左边的小圆是水平居中的,两边都有空白,但是chrome和firefox都不遵循这个逻辑。有人能解释一下这是如何工作的吗?对不起我的英语,我希望你不明白我想说什么。
【问题讨论】:
-
请将其更改为:
<svg width="100" height="100" viewBox="0 0 1 20" preserveAspectRatio="xMaxYMax meet"> <circle cx="10" cy="10" r="10" fill="red"/> </svg>这是您需要的吗? preserveAspectRatio -
它只是没有按预期工作的问题。默认值为“xMidYMid meet”,考虑到我的代码,它应该水平居中最左边的一个圆圈,但它的行为是完全错误的。我只想知道为什么它显示了一半的圆圈。发生了什么
-
圆圈宽 20 个用户单位。视图框仅显示画布的第一个单元。它不能像 Chrome 和 Firefox 那样显示一半的圆圈。它的疯狂