SVG viewBox="0 0 100 100" 不会将我的路径缩放到 100%?
SVG viewBox="0 0 100 100" wont scale my path to 100%?
我目前有一个只显示大约 50% 的 svg 路径。我怎样才能让它显示 100%?
这是我的代码:
<div className="svgPathContainer">
<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="none">
<path d="M82 88L0 0H123V170H0L82 88Z" fill="#F9B300" />
</svg>
</div>
我将 className="svgPath" 设置为:
.svgPathContainer{
width: 100%;
height: 100%;
}
这里还有一个仅显示 50% 的 svg 示例:
https://codesandbox.io/s/svg-scaling-fff1q?file=/src/App.js:93-357
问题:为什么 svg 路径不能缩放到 .svgPathContainer 的 100%?
viewBox
就像 canvas 尺寸。因此,该视图框外的绘图将被剪裁。喜欢css溢出:隐藏。并且您的绘图的大小为宽度 123px 和高度 170px。因此,您必须将视图框更改为此值。检查我们的一些 docs.
如果您想保持 100 x 100 像素的视图框,您需要更改您的绘图元素大小(路径)。
视图框与比例无关。这只是 canvas 大小。内部 SVG 元素的具有宽度、高度和偏移量 (x y w h) 的矩形剪辑。而SVG标签的width和height属性是用来缩放渲染图的。
<div className="svgPathContainer">
<svg width="100%" height="100%" viewbox="0 0 123 170" preserveAspectRatio="none">
<path d="M82 88L0 0H123V170H0L82 88Z" fill="#F9B300" />
</svg>
</div>
我目前有一个只显示大约 50% 的 svg 路径。我怎样才能让它显示 100%? 这是我的代码:
<div className="svgPathContainer">
<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="none">
<path d="M82 88L0 0H123V170H0L82 88Z" fill="#F9B300" />
</svg>
</div>
我将 className="svgPath" 设置为:
.svgPathContainer{
width: 100%;
height: 100%;
}
这里还有一个仅显示 50% 的 svg 示例: https://codesandbox.io/s/svg-scaling-fff1q?file=/src/App.js:93-357
问题:为什么 svg 路径不能缩放到 .svgPathContainer 的 100%?
viewBox
就像 canvas 尺寸。因此,该视图框外的绘图将被剪裁。喜欢css溢出:隐藏。并且您的绘图的大小为宽度 123px 和高度 170px。因此,您必须将视图框更改为此值。检查我们的一些 docs.
如果您想保持 100 x 100 像素的视图框,您需要更改您的绘图元素大小(路径)。
视图框与比例无关。这只是 canvas 大小。内部 SVG 元素的具有宽度、高度和偏移量 (x y w h) 的矩形剪辑。而SVG标签的width和height属性是用来缩放渲染图的。
<div className="svgPathContainer">
<svg width="100%" height="100%" viewbox="0 0 123 170" preserveAspectRatio="none">
<path d="M82 88L0 0H123V170H0L82 88Z" fill="#F9B300" />
</svg>
</div>