是否可以将SVG filter
元素嵌入HTML文档中,以便可以将其应用于CSS上的SVG和HTML元素?将其放在本身嵌入HTML文档中的svg
元素中的问题是svg
元素本身占用了空间,这是不希望的。
答案 0 :(得分:3)
您可以这样尝试:
svg
中包裹div
div
,分配css属性position: absolute;
,它将
从一般流输出它,并且不会干扰
标记div
在CSS
中,通过过滤器id
将过滤器应用于任何其他HTML`标记对象
filter:url(#nameID);
更新:
我不得不提到使用display: none;
在此question中,详细讨论了在各种浏览器中应用SVG过滤器的问题。
@Paul LeBeau在其answer中建议使用SVG width = "0"
和height = "0"
而不是display: none;
下面是他的答案中的代码。
<video autoplay controls muted src=" https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" style="width: 488px; height: 360px; filter: url(#temperature_filter)">
</video>
<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0">
<filter id="temperature_filter" color-interpolation-filters="sRGB">
<feColorMatrix type="matrix" values="1 0 0 0 0 0 0.694 0 0 0 0 0 0.431 0 0 0 0 0 1 0"></feColorMatrix>
</filter>
</svg>
如评论中所述,@ enxaneta更好地使用:
svg{position: absolute; width: 0; height: 0;}