在 IE 8 中,当图像未显示时,我看到替代文本显示在打印预览中。问题未在 chrome 中发生。我想在 IE 8 中解决这个问题。
图像的 Src 在运行时添加。有时图像将无法从服务器获得
<img src="null" alt="weird issue">
需要在不使用 javascript 的情况下进行修复
在 IE 8 中,当图像未显示时,我看到替代文本显示在打印预览中。问题未在 chrome 中发生。我想在 IE 8 中解决这个问题。
图像的 Src 在运行时添加。有时图像将无法从服务器获得
<img src="null" alt="weird issue">
需要在不使用 javascript 的情况下进行修复
您不能直接设置 alt 文本的样式,但它会从img
父级继承,因此可能最简单的方法是在 CSS 中将color
您的设置img
为白色(如果用于打印应用程序,则在您的打印样式中)。
尝试这个:
img{
color: #fff;
background-color: #fff;
}
在该示例中,我也将其设置background-color
为白色,但这可能不是 100% 必要的,因为如果这是一种打印样式,则无论如何背景都不可避免地是白色的。
正如这个答案下面的评论中所提到的,您可以使用 CSS属性选择器来仅定位那些'null'
作为其源的 imgs。
这将像这样工作:
img[src="null"]{
color: #fff;
background-color: #fff;
}
然而,这会带来一些额外的要求/假设:
img[src=""]
)。!DOCTYPE
声明有点敏感,所以你必须确保你的页面有一个有效的!DOCTYPE
声明。src="null"
您可以扩展属性选择器的使用,以确保根本不显示那些通过的图像:
img[src="null"]{
display: none;
}
对于 mozilla :研究此代码并找到一种方法来使用其他浏览器实现它。
img:-moz-broken:before,
input:-moz-broken:before,
img:-moz-user-disabled:before,
input:-moz-user-disabled:before,
img:-moz-loading:before,
input:-moz-loading:before,
applet:-moz-empty-except-children-with-localname(param):-moz-broken:before,
applet:-moz-empty-except-children-with-localname(param):-moz-user-disabled:before {
content: -moz-alt-content !important;
unicode-bidi: -moz-isolate;
}
或者,一些绝对基本的内联 javascript,一些非常丑陋的老式内联事件处理程序:
<img src="broken.png" onerror="this.style.display='none'" />