使用 CSS 操作外部 SVG 文件样式属性
SVG 文件中的沙箱问题
何时使用外部 SVG 文件时,尝试使用 CSS 操作内部 SVG 属性(例如填充或描边)时可能会遇到限制。这是由于 SVG 文件中称为“沙盒”的功能造成的,该功能限制从外部源直接访问 SVG 内容。
不透明度与其他属性
不透明度是一个独特的属性,因为它影响 SVG 对象/框架的整体,而不仅仅是其内容。这允许 CSS 修改不透明度,即使它无法访问内部 SVG 内容。
操作限制的解决方案
虽然您无法直接从 CSS 操作内部 SVG 属性,但有您可以探索两个主要解决方案:
1。图标系统(Font-Face 或 SVG Sprites)
图标系统涉及将 SVG 转换为特殊的“图标”字体或 SVG Sprite 格式。这允许您使用字体或背景图像引用图标并向其应用 CSS 样式。
2.通过内联 SVG 进行直接 CSS 修改
虽然不建议对外部 SVG 文件这样做,但您可以将 SVG 代码直接嵌入到 HTML 中,并使用 SVG 代码本身内的 style 属性应用 CSS 样式。
结论
由于沙箱机制的原因,从 CSS 操作内部 SVG 属性并不简单。然而,通过使用图标系统,或者在特殊情况下,通过内联 SVG 直接修改 CSS,您可以获得与内联 CSS 操作类似的结果。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3