javascript - 当 <svg> 改变大小时缩放路径和形状

标签 javascript html svg raphael

我正在使用 Raphael 在页面上绘制一些形状。 <svg>已设置为{ width:100%; height:600px }效果很好。当我调整浏览器宽度时,我想调整 <svg> 内的形状以适应新的宽度。理想情况下,这应该自动发生;必须在 window.resize 上手动缩放每个形状和路径似乎是错误的。

我知道路径字符串中的百分比是非法的,但这本质上就是我想要做的:

var r = Raphael('container', '100%', 600);
r.path("M0,0 L0,0 55%,0 100%,61z")

最佳答案

您应该首先为纸张和路径使用绝对宽度和高度。您还需要使用 setViewBox() 在纸张上设置 viewBox。

从那里,您可以使用 CSS 将 div#container 的宽度设置为 100%。您可能还需要设置 bodyhtml 如下:

body,
html {
margin: 0;
width: 100%;
}

关于javascript - 当 <svg> 改变大小时缩放路径和形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11140426/

相关文章:

html - 使用 CSS 添加带有颜色叠加的 SVG

php - 向 php 添加按钮

php - 如何在 wooCommerce 插件中制作/嵌入我自己的产品展示设计

javascript - 如何将属性 `preserveAspectRatio` 添加到 Highchart svg

svg - 如何从集合中删除 icomoon 中的图标

css - gmail 如何接受用户名

javascript - 为什么我不能在 typescript 中向 String.prototype 添加新方法

javascript - 无法使用 justify-content : flex-end 获得垂直滚动条

javascript - Appcelerator 中的属性字符串和应用 @ 符号中间字符串

javascript - Blob 构造函数浏览器兼容性