【问题标题】:Targeting SVG with CSS使用 CSS 定位 SVG
【发布时间】:2012-06-21 22:07:19
【问题描述】:

有没有办法让我使用 CSS 来定位 SVG?它们在 IE8 向下看起来像破碎的图像,我想使用modernizr 来隐藏它们,例如我希望有类似的东西......

.no-svg object[type=svg] {
  display:none;
}

按照http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-ii 中的建议,我正在使用它来将 SVG 嵌入到我的页面中

<object type="image/svg+xml" 
  width="100" height="100" style="float:right" 
  data="http://blog.codedread.com/clipart/apple.svgz">
<span/></object>

【问题讨论】:

  • 将 svg 放入包装器并隐藏它? - 因为你注意到在 9 svg 之前的 IE 上不支持。
  • 嗨,马克,我希望有一种简单的方法可以使用 CSS 选择器来完成此操作,而无需填充标记。包裹一个 div 并添加一个类是最后的手段

标签: css svg css-selectors


【解决方案1】:

标记中的type 属性是image/svg+xml。您的属性选择器object[type=svg] 会查找type 属性完全 svg,因此您的对象将不匹配。

您应该在标记中指定完整的 MIME 类型(您需要在此处使用引号,否则它将不起作用;有关详细信息,请参阅 this spec):

.no-svg object[type="image/svg+xml"] {
  display:none;
}

或者,如果您愿意,可以使用子字符串属性选择器,但我更喜欢上面的:

.no-svg object[type*=svg] {
  display:none;
}

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多