当直接 CSS 样式受到限制时,如何有效地设置嵌入式 SVG 样式?
设计嵌入式 SVG:CSS 限制和替代方法
概述
与直接包含的 SVG 相比,设计嵌入式 SVG(可缩放矢量图形)可能会带来挑战在一个文档中。了解限制并探索替代方法对于有效的样式至关重要。
嵌入式 SVG 的直接 CSS 样式
当使用
object svg { fill: #fff; }
登录后复制
使用脚本注入样式
由于嵌入的 SVG 是单独的文档,因此可以使用脚本将样式注入到其中。以下方法假设
var svgDoc = yourObjectElement.contentDocument; var styleElement = svgDoc.createElementNS("http://www.w3.org/2000/svg", "style"); styleElement.textContent = "svg { fill: #fff }"; svgDoc.getElementById("where-to-insert").appendChild(styleElement);
登录后复制
或者,可以使用 链接外部样式表元素:
var svgDoc = yourObjectElement.contentDocument; var linkElm = svgDoc.createElementNS("http://www.w3.org/1999/xhtml", "link"); linkElm.setAttribute("href", "my-style.css"); linkElm.setAttribute("type", "text/css"); linkElm.setAttribute("rel", "stylesheet"); svgDoc.getElementById("where-to-insert").appendChild(linkElm);
登录后复制
从 SVG 文件直接设置样式
或者,样式可以直接链接或包含在 SVG 文件中:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="my-style.css" type="text/css"?> <svg xmlns="http://www.w3.org/2000/svg"> ... rest of document here ... </svg>
登录后复制
或
<svg xmlns="http://www.w3.org/2000/svg"> <defs> <link href="my-style.css" type="text/css" rel="stylesheet" xmlns="http://www.w3.org/1999/xhtml"/> </defs> ... rest of document here ... </svg>
登录后复制
附加选项:jquery-svg插件
为了进一步提高灵活性,jquery-svg 插件提供了将 CSS 样式和 JavaScript 脚本应用于嵌入式 SVG 的方法。
以上是当直接 CSS 样式受到限制时,如何有效地设置嵌入式 SVG 样式?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
4 周前
By DDD
如何修复KB5055523无法在Windows 11中安装?
3 周前
By DDD
Inzoi:如何申请学校和大学
1 个月前
By DDD
如何修复KB5055518无法在Windows 10中安装?
3 周前
By DDD
在哪里可以找到Atomfall中的站点办公室钥匙
4 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)