实现效果
实现代码
index.html
<h2>未做错误处理</h2> <div style="font-size: 0"> <img src="./img/image.jpg" alt="" /> <img src="./img/image-1.jpg" alt="" /> </div> <h2>有错误处理</h2> <div style="margin-top: 20px; font-size: 0; display: flex"> <img class="mo-image" src="./img/image.jpg" alt="标题" /> <img class="mo-image" src="./img/image-1.jpg" alt="标题" /> </div>
style.css
img { width: 300px; height: 150px; object-fit: cover; display: inline-block; } .mo-image { display: inline-block; /* transform: scale(1); */ position: relative; } /* 显示占位图片 */ .mo-image::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #f5f5f5 url(../img/image-error.jpg) no-repeat center / 50% 50%; color: transparent; } /* 显示alt中的文字 */ .mo-image::after { content: attr(alt); position: absolute; left: 0; bottom: 0; width: 100%; line-height: 2; background-color: rgba(0, 0, 0, 0.5); color: white; font-size: 12px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
在线示例:https://mouday.github.io/front-end-demo/image-error/index.html