【问题标题】:SVG and external stylesheetsSVG 和外部样式表
【发布时间】:2012-06-22 06:08:57
【问题描述】:

我在我的网站上使用了一些交互式/动态 SVG,作为一项功能,我们可以选择按原样下载 .svg 文件。

我们发现的一个问题是,当使用外部样式表时,如果用户尝试在 Inkscape 中打开文件,样式就会丢失。所以我一直在设计填充和描边颜色等,内联元素。

我想知道 SVG 标准以及样式表如何适应它。 .css 文件是否设计为与 .svg 文件一起传输?我知道您可以像这样声明外部样式表:

<?xml-stylesheet type="text/css" href="mystylesheet.css" ?>

如果它们在同一个文件夹中,大多数矢量图形软件会识别并加载它们吗? Illustrator 似乎没有对 SVG 的初始支持,但有包括 JavaScript 和 CSS3 引擎的附加组件。

我不禁觉得每个人都错过了 SVG 这条船。有没有人成功地做类似的事情,将 .svg 与 .css 打包以供下载并在各种矢量图形程序中进行尝试?像 Inkscape 这样的程序在保存 SVG 时通常会做什么,因为显然有几种分配样式的方法?

【问题讨论】:

  • 您的问题到底是什么? (标题不是问题,正文中有四个。)
  • @Phrogz All 4 我猜...我认为它们非常相关。这是一个广泛的问题 - SVG 和外部样式表应该/应该如何使用?我只是对用哪种方式来做这件事感到很困惑,这样才能得到最广泛的支持。

标签: css svg


【解决方案1】:

我从 W3C 中找到了一些关于 SVG 查看器一致性的文档,这些文档清楚地说明了一些问题:

SVG Viewer Conformance

Styling with CSS

Styling Alternatives

Common Facilities Used by SVG and CSS

我看到了这条线,

符合标准的 SVG 解释器和符合标准的 SVG 查看器支持 通用(即基于文本的)XML 内容的 CSS 样式需要 还支持 SVG 内容的 CSS 样式。

这让我相信只有支持 CSS(而不是表示属性)的 SVG 查看器才需要支持外部样式表 - 所以基本上只是浏览器。

我仍然想要一份 SVG 软件包列表,以及每个软件包是否支持外部样式表以及它们如何分配样式,但也许我必须自己进行这项研究。

【讨论】:

  • 请注意,在 SVG 中包含外部 CSS 应该很简单,因此这可能是最安全的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
相关资源
最近更新 更多