我需要将以下内联 SVG 过滤器注入到我的 HTML5 文档中:
<svg>
<defs>
<filter id="grayscale">
<feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0">
</filter>
</defs>
</svg>
我尝试将它放在<html>
标签之外,但这不起作用。它会在显示页面的开头或结尾留下很大的空白区域,具体取决于我放置它的位置。
我尝试将它放在标签的<head>
或开头,<body>
但这也会在显示文档的开头留下一个很大的空白区域。
SVG 对象上的设置display: none;
将阻止过滤器工作。
我也尝试将<svg>
'swidth
和height
properties 设置为零,但这仅在我将 svg 对象的 CSS 设置为display: block;
.
例如:
<!DOCTYPE html>
<html>
<head>
...
<svg> ... </svg>
</head>
...
</html>
目前,我的临时解决方法是使用 css 尝试隐藏它:
svg {
height: 0;
position: absolute;
}
如何防止 SVG 对象干扰我的 HTML 布局(不使用这个 css 技巧)?