将外部CSS应用于HTML节点作为内联样式(香草Javascript/Coffeescript)
Apply External CSS to HTML Nodes as Inline Style (vanilla Javascript/Coffeescript)
因此,我有一个SVG文件被嵌入到我的HTML中,未压缩(保留其原始的节点格式)。它包含几个组,除了三个之外,其余都是隐藏的(display == "none")。根据用户的选项,我利用映射到适当可见性选项的父类,动态地切换隐藏组和可见组。我的目标是获取生成的SVG节点,内联与父类对应的应用样式,并在用户完成处理后将其作为光栅图像提交给服务器。
是否有一种快速的,跨浏览器兼容的方式来迭代应用于节点的所有样式,并使用脚本内联它们,在我将整个节点树转换为字符串之前?一个普通的JavaScript/CoffeeScript解决方案是理想的。如果需要,可以使用Snap.svg。
我问,因为看起来我唯一的其他选择是将动态样式移植到JavaScript,引入不必要的刚性(由于需要编辑多个点而更复杂的更新,等等)。
SVG允许style
元素
您应该能够将定义父类的CSS规则放在 SVG的style
元素中。然后切换你的组,就像你现在做的。如果你现在将整个SVG片段发送到光栅化器,包括其内部的style
标签,它将拥有所有必要的CSS信息,并且应该能够正确渲染SVG, 没有,你必须遍历整个树并内联所有样式。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 将样式表插入iframe
- 跟踪在页面加载时应用内联样式的JavaScript
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 定义完全独立的样式信息
- W3C循环样式的JavaScript
- jQuery/JavaScript在线公文包表单-打印样式表
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- FF和Chromium中CSS样式按钮的外观差异
- 如何首先设置样式<td>表中包含在窗体中的元素
- javascript问题正文样式
- 使用具有内联样式的tidy-html5
- DataTables-创建自定义分页样式(加载更多样式)
- 具有所有样式的文本正在复制到可编辑文本区域
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- 绑定Range输入以修改样式
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 不同页面背景的body标记上的角度ng样式
- 正文上的香草JavaScript设置样式
- 将外部CSS应用于HTML节点作为内联样式(香草Javascript/Coffeescript)