是否可以通过CSS将SVG图像添加到网页?

问题描述 投票:4回答:5

我刚开始在网页上试验SVG,我发现只能使用<object />标签将SVG图像添加到HTML中,而不是像我期望的那样将<img />添加到HTML中。大多数时候,我通过CSS向网页添加图形,因为它们是网站呈现的一部分,而不是内容。

我知道可以将CSS应用于SVG,但是可以使用纯CSS将矢量图像添加到HTML元素吗?

css svg vector-graphics
5个回答
5
投票

自Opera 9以来,<img>和CSS(列表图像,背景图像,内容)支持SVG。Opera 10更好。 Webkit / Safari也支持<img>中的svg。

一些examples here,更多的dev.opera.comannevankesteren.nl

如果您正在寻找内联svg示例,请查看Sam Ruby's site


4
投票

您可以尝试使用content属性引用SVG文件,但我认为它不受支持。如果它受支持,它将如下所示:

.putapicturehere:before {
  content: url(mysvgfile.svg);
}

这肯定不适用于IE - 它可能适用于最新的Firefox。

我总是reference quirksmode.org的css浏览器支持问题。


1
投票

您可能需要制作一个CSS辅助JavaScript来从屏幕外的img中读取图像并将其放入对象标记中。这样你仍然可以用CSS控制。


1
投票

据我所知,Opera 9和WebKit(== Safari和Chrome)在个人电脑上做到这一点,而且有传言说FF3.5也能用。

实际上,由于Apple在半年前就为iPhone的Safari添加了SVG支持,我不确定,如果它有效,但值得一试。

干杯,


0
投票

上次我尝试,差不多一年前,它没有用。但是,您可以混合使用svg和xhtml标记。唯一的问题是页面必须具有正确的mime类型(application-xml或类似的东西)或浏览器将忽略svg。

如果你想要严格分离内容和表示,内联svg不是一个完美的解决方案,但似乎是使用svg最受支持的方式。

© www.soinside.com 2019 - 2024. All rights reserved.