📅  最后修改于: 2023-12-03 15:00:09.366000             🧑  作者: Mango
在 CSS 中,我们可以通过 background-image
属性设置背景图片。但是,有时候我们需要在图片加载失败或未提供的情况下显示默认图片。下面我们将介绍一种解决方案。
我们可以使用 CSS 伪类 ::before
或 ::after
来在元素中创建一个伪元素,并设置默认图片。当背景图片加载失败时,这个伪元素会展示出来。
以下是一个具体的示例:
<!DOCTYPE html>
<html>
<head>
<style>
.image-container {
position: relative;
width: 300px;
height: 200px;
background-color: #ccc;
display: flex;
align-items: center;
justify-content: center;
}
.image-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(default-image.jpg);
background-size: cover;
z-index: -1;
}
.image-container img {
display: block;
max-width: 100%;
max-height: 100%;
}
</style>
</head>
<body>
<div class="image-container">
<img src="image.jpg" alt="背景图片">
</div>
</body>
</html>
在上面的示例中,我们创建了一个 .image-container
包含一个 img
元素。我们为 .image-container
添加了一个伪元素 ::before
,并设置默认图片 default-image.jpg
作为背景。
如果 img
元素成功加载图片,则默认图片会被覆盖。但如果图片加载失败,.image-container::before
的默认图片将会展示出来。
务必将 default-image.jpg
替换成您项目中的默认图片路径。
希望这个解决方案对您有帮助!