我遇到了一个奇怪的错误,我想。当我将过滤器应用于同一元素时,我通过引用的 SVG 元素未应用剪辑路径时遇到问题,因此我开始调查。
这不是导致问题的过滤器。我花了一段时间才找到这个,因为我的剪辑路径是一个完整的矩形,不知何故在没有过滤器的情况下工作。在这里查看我的帖子。
我发现在 Firefox 中根本没有应用剪辑路径,即使没有过滤器也是如此。不知何故,只有当我通过 HTML 引用 SVG#id 时,剪辑路径才有效<style></style>
。<link rel="stylesheet" href="style.css">
如果我正在应用所有其他 CSS ,它就无法工作。
由于 codepen 和 jsfiddle 可以使用<style>
我无法创建和示例。请在此处下载文件进行测试: Dropbox
我创建了一个外部 css 文件和一个线条样式
<style type="text/css">
XXX.triangle {
position: absolute;
width: 200px;
height: 200px;
margin: 10px;
background: red;
-webkit-clip-path: url(#absolute_path);
-moz-clip-path: url(#absolute_path);
-o-clip-path: url(#absolute_path);
clip-path: url(#absolute_path);
}
</style>
首先在 Firefox 中尝试下载的文件。你会看到一个红色方块。然后将HTML文件中的XXX.traingle改为.triangle<style>
并重新加载。瞧,一个红色的三角形。
这可能是什么原因造成的?还有更多,我怎样才能解决这个问题而不必定义 in <style>
?我需要构建组件,所以这有点搞砸了。