35

我正在为 eBay 商店设计 Channel Advisor 中的模板,但它不允许javascript/jQuery. 此外,在各种版本CSS3中都不起作用,特别是实现被破坏了。IEimg[src=]

当我在 img 中使用模板标签时,例如:

<img src="{{THUMB(ITEMIMAGEURL1)}}"/> 

其中 {{THUMB(ITEMIMAGEURL1)}} 是图像路径,如果图像丢失并且模板已发布到 eBay,则最终结果将如下所示:

<img src=""/> 

这显示了一个损坏的图像。

有没有办法隐藏<img src=""/>在 IE7+ 中工作的 HTML 或 CSS

4

2 回答 2

92

您可以使用[attr=val]选择器

img[src=""] {
   display: none;
}

如果src属性没有值,上面的选择器将简单地匹配。这个选择器是一个通用的选择器,如果你想针对特定的标签,它将匹配img文档中的所有标签,而不是使用更具体的选择器,比如src

.class_name img[src=""] {
    display: none;
}

Demo

Demo(没有上面的选择器,看到那条红线了吗?)

或者,如果你想保留img标签占用的空间,你可能想使用visibility: hidden;而不是display: none;简单display: none;地弄乱你的布局,visibility: hidden;它将保留空间,它只会隐藏img

display: none;查看和之间的区别visibility: hidden;

Demo( visibility: hidden;, 预留空间)

Demo 2( display: none;, 不会保留空间)


注意:以上选择器都不会img从 DOM 中删除标签,它只会在前端隐藏它

于 2013-09-19T05:22:45.567 回答
10

[attr=value]选择器是 CSS2,你应该没问题。

img[src=""] {
  display:none;
}
于 2013-09-19T05:22:58.177 回答