gpt4 book ai didi

javascript - SVG 被裁剪

转载 作者:太空狗 更新时间:2023-10-29 16:35:15 28 4
gpt4 key购买 nike

所以我最近才开始接触 SVG,但我遇到了一些问题,因为我的 SVG 图像没有被调整大小以适应容器,而是被裁剪掉了。

HTML:

<!DOCTYPE html>
<html>
<head>
<title>Eye</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/snap.svg.js"></script>
<script src="js/eye.js"></script>
</head>
<body>
<svg id="svg"></svg>
</body>
</html>

JS:

window.onload = function() {
var s = Snap("#svg");

var circle = s.circle(90,120,80);
var square = s.rect(210,40,160,160);
var ellipse = s.ellipse(460,120,50,80);
}

JSFiddle

现在,使用该 CSS 代码肯定不会再被裁剪,因为 Google Chrome 上的用户代理样式表包含关于 SVG 的“溢出:隐藏”。但这真的是解决问题的正确方法吗?另外,为什么它会被裁剪而不是缩放?我应该使用百分比而不是像素“绘制”我的 svgs 吗?

最佳答案

您目前尚未设置 SVG 的固有尺寸。您应该添加一个 viewBox 属性来指定您实际想要显示的 SVG 部分。 (“完整”的 SVG plain 几乎是无止境的)

此外,您还可以设置 SVG 容器的外部尺寸。这是盒子的大小,SVG 将出现在其中。

放在一起看起来像这样:

<svg id="svg" 
version="1.1" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 550 300"></svg>

#svg {
overflow: visible;
width: 100%;
}

Fiddle

关于javascript - SVG 被裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com