在什么情况下使用 HTML IMG
标签来显示图像更合适,而不是 CSS background-image
,反之亦然?
因素可能包括可访问性,浏览器支持,动态内容或任何类型的技术限制或可用性原则。
IMG
。 - JayTee IMG
(带alt
文本),例如警告图标 。这确保了图像的含义可以在所有用户代理(包括屏幕阅读器)中传达。 IMG
plus alt 属性。 - sanchothefat IMG
。 IMG
用于多个叠加图像 。 z-index
IMG
以拉伸背景图像以填充整个窗口。img
而不是background-image
可以显着提高背景动画的性能。 background-image
。 - JayTee background-image
,就像使用CSS sprites 一样 。 background-image
,就像使用 CSS 精灵一样。 background-image
的background-size:cover
background-image
background-size:cover
以拉伸背景图像以填充整个窗口。 这对我来说是一个黑白分明的决定。如果图像是内容的一部分,例如徽标或图表或人(真实的人,而不是股票照片人),则使用<img />
标签加 alt 属性。其他一切都有 CSS 背景图片。
另一次使用 CSS 背景图像是在进行文本的图像替换时。段落 / 头。
我很惊讶没人提到这个: CSS 过渡 。
您可以原生地转换div
的背景图像:
#some_div {
background-image:url(image_1.jpg);
-webkit-transition:background-image 0.5s;
/* Other vendor-prefixed transition properties */
transition:background-image 0.5s;
}
#some_div:hover {
background-image:url(image_2.jpg);
}
这样就可以保存任何类型的 JavaScript 或 jQuery 动画来淡化<img/>
的src
。
有关MDN转换的更多信息。