【问题标题】:SVG for background背景 SVG
【发布时间】:2012-07-06 22:13:41
【问题描述】:

我尝试使用 svg 作为背景,它在本地工作,但当我将其上传到 ftp 时却不行。

对于 IE 和其他不支持 svg 的设备,它具有 png 后备功能。但在所有情况下,我只看到 png。

(仅作为示例使用红色方块作为 svg 和一个非常不同的认为 skype.png 的标志作为后备): http://jsfiddle.net/snG8w/ http://codepen.io/pen/9135/2

如何在此背景中放入 svg?

HTML:

<div id="quadrat"></div>​

CSS:

#quadrat {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 400px;
  height: 400px;
  line-height:200px;
  background-image:  url('http://mig-marketing.com/proves/retina/skype.png');
  background-image:  none,url('http://mig-marketing.com/proves/retina/rectangle.svg'), url('http://mig-marketing.com/proves/retina/skype.png');
  background-size: 100% 100%;
  background-repeat:no-repeat;
}​

【问题讨论】:

  • 您是否尝试过用相对 URL 替换 URL?我想浏览器可能会限制完整的 URL。
  • “无”是否胜过其他?
  • @DA,不。如果你有一个正确服务的 svg,它工作得很好:jsfiddle.net/WTkbA
  • Unclenorton:您的 svg 效果很好,但我不明白为什么。我用 Illustrator 做了一个非常简单的 svg。在浏览器中可以很好地看到:mig-marketing.com/proves/retina/rectangle.svg 问题是我把它放在后台时。为什么您的 svg 始终运行良好?我看不出有什么区别?
  • Clafou:我尝试了相对 URL,但没有任何变化

标签: css svg


【解决方案1】:

您正在使用“text/xml”媒体类型为svg image 提供服务。虽然这在技术上没问题,但浏览器很可能在这种情况下不允许这样做,在这种情况下,只允许使用图像。尝试将您的服务器配置为发送官方 svg 媒体类型 'image/svg+xml',这应该可以。

有关如何配置网络服务器的更多详细信息,请参见 here

更新:添加了与“text/xml”一起提供的 svg 图像的链接。

【讨论】:

  • 在小提琴中我看不到 svg。你只看到 png。:jsfiddle.net/snG8w 在 codepen(类似于 Fiddle)中相同:codepen.io/pen/9135/2 我想这意味着问题不在于服务器?
  • 你是对的,问题出在托管 svg 的服务器上。非常感谢!
猜你喜欢
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 2017-03-02
  • 2022-01-23
  • 2021-12-04
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多