html - 在 HTML 文档中嵌入 SVG 过滤器
问题描述
有没有办法filter
在 HTML 文档中嵌入 SVG 元素,以便在某些时候将其应用于 SVG 和 HTML 元素(通过 CSS)?将它放在svg
本身嵌入在 HTML 文档中的元素中的问题是svg
元素本身占用空间,这是不可取的。
解决方案
你可以这样尝试:
- 包裹
svg
在div
- 对于
div
,分配 css 属性,该属性position: absolute;
将从一般流中输出并且不会干扰标记 - 隐藏
div
在
CSS
中,按其id
对任何其他 HTML `标记对象应用过滤器filter:url(#nameID);
更新:
我不得不提一些使用display: none;
在这个问题中,详细讨论了在各种浏览器中应用 SVG 过滤器的问题。
@Paul LeBeau 在其回答中建议使用 SVGwidth = "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;}
推荐阅读
- gojs - gojs 查找带有 'from' 或 'to' 的链接
- r - 如何在牛图多面板绘图标签中使用上标
- python - 将 MatplotLib 应用于 OpenCV 图像
- sas - 无法将 SAS 宏应用于列
- mysql - 如何将产品计数到按组分隔的多个过滤器中
- laravel - 谁有责任处理 CORS?
- microsoft-graph-api - 抛出 C# 异常:mscorlib.dll 中的“Microsoft.Graph.Communications.Core.Exceptions.ServiceException”
- laravel - Laravel 与 2 个外键的多对多关系
- python - 如何在pygame中获取图像的中心坐标
- api - 惠普 ALM | REST API 错误 ALM-E10004:加载项目失败?