首页  >  文章  >  web前端  >  如何在父容器内实现响应式 SVG 缩放:解决 ViewBox 困境?

如何在父容器内实现响应式 SVG 缩放:解决 ViewBox 困境?

Susan Sarandon
Susan Sarandon原创
2024-10-26 22:35:02553浏览

How to Achieve Responsive SVG Scaling Within Parent Containers:  Solving the ViewBox Dilemma?

解决父容器内的 SVG 缩放问题

问题:

SVG 元素如何是否可以配置为在其父容器内扩展或收缩,而不管容器的大小?尽管尝试了设置 viewBox 属性的常见解决方案,但当 SVG 中的元素具有预定义尺寸时,行为仍然不一致。

答案:

缩放的根本原因问题在于 viewBox 的定义。 viewBox 代表 SVG 绘图的大小,而不是容器。为了实现响应式缩放,viewBox 应该以宽度为单位定义,而内部元素(例如本例中的 rect)应该定义为 viewBox 的百分比。

例如,如果 viewBox 是设置为“100 0 100 100”,矩形的宽度和高度应定义为“10%”。这样,无论父容器的大小如何,矩形将始终保持 SVG 总宽度的 10%。

Inkscape 配置:

不幸的是,Inkscape 不会目前尚未提供将 SVG 文档中的所有元素设置为仅使用百分比尺寸的选项。这必须为每个元素手动完成。

以上是如何在父容器内实现响应式 SVG 缩放:解决 ViewBox 困境?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn