【发布时间】:2021-01-01 02:11:30
【问题描述】:
当我在 chrome 中的 SVG 中嵌入 SVG 时,会出现一些问题。其中一个问题是我无法在子 SVG 上应用“过滤器:阴影”,尽管这在 Firefox 上运行良好。当我将它应用于父 SVG 时,它适用于 chrome。
在 SVG 中嵌入 SVG 是一个坏习惯,还是我的代码有问题?
body {
background: linear-gradient(
rgb(155, 246, 255, 0.7),
rgba(189, 178, 255, 0.9)
);
background-attachment: fixed;
}
.test1:hover {
cursor: pointer;
filter: drop-shadow(-3px 1px 24px rgba(40, 245, 4, 1));
-webkit-filter: drop-shadow(-3px 1px 24px rgba(40, 245, 4, 1));
-moz-filter: drop-shadow(-3px 1px 24px rgba(40, 245, 4, 1));
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div>
<svg height="200" viewBox="0 0 50 50">
<g>
<svg
class="test1"
height="200"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
>
<rect class="7-1" x="0" y="0" height="100" width="100" />
</svg>
</g>
</svg>
</div>
</body>
</html>
在这段代码中,如果我将“test1”类应用到父 SVG,它会正常工作
非常感谢!
【问题讨论】:
-
这能回答你的问题吗? Embed SVG in SVG?
-
这里是结果截图imgur.com/dYYhN9A
-
@ChrisW。我尝试了这篇文章中的解决方案,我通过 Image 元素包含了嵌套的 SVG,但问题仍然存在。它适用于 Firefox,但不适用于 chrome。感谢您的帮助!