引子
浏览网页时有时会遇到图片加载失败的场景,浏览器往往会给出一个非常丑陋的显示效果:
为了更好的用户体验,这里可以仅仅通过CSS来优化一下样式。恰巧最近工作上遇到了这样的需求,在此记录下自己是如何解决的。
思路
需要注意两个偏理论上的知识点:
img
标签是个可替换元素,即其呈现是由外部资源决定的,也因此:before
和:after
这两个伪元素对其不起作用。但是,当图片加载失败时,伪元素就能派上用场了。- 可以对
img
标签使用排版相关的CSS规则,比如字体,这些规则只对alt
特性起作用。
运用上面两个特性,我们就能做到当图片加载失败时,对其美化。
代码
使用下面结构当做例子:
图片加载失败,下面的CSS会发挥作用:
最后,如果图片加载失败,将呈现如下样式:
肿么样,是不是好看了很多!