给我html实现当鼠标移动到一个图片上时图片转化为一行对应说明文字的代码,不同图片有对应的说明文字,可以再div内设置原文字和说明文字,转换效果动态,美观,代码
时间: 2023-12-12 10:02:44 浏览: 86
这是一个比较常见的图片悬停效果,可以使用CSS实现。以下是一个简单的示例代码,使用了CSS的:hover伪类选择器来实现图片悬停效果:
```html
<!DOCTYPE html>
<html>
<head>
<title>图片悬停效果</title>
<style>
.container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 20px;
}
.item {
position: relative;
overflow: hidden;
width: 200px;
height: 200px;
}
.item img {
max-width: 100%;
max-height: 100%;
transition: transform 0.3s ease-out;
}
.item:hover img {
transform: scale(1.2);
}
.item .caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.8);
color: #fff;
padding: 10px;
opacity: 0;
transition: opacity 0.3s ease-out;
}
.item:hover .caption {
opacity: 1;
}
</style>
</head>
<body>
<div class="container">
<div class="item">
<img src="https://picsum.photos/200/200?random=1" alt="图片1">
<div class="caption">
<h3>图片1说明文字</h3>
<p>这里是图片1的详细说明文字,可以换行。</p>
</div>
</div>
<div class="item">
<img src="https://picsum.photos/200/200?random=2" alt="图片2">
<div class="caption">
<h3>图片2说明文字</h3>
<p>这里是图片2的详细说明文字,可以换行。</p>
</div>
</div>
<div class="item">
<img src="https://picsum.photos/200/200?random=3" alt="图片3">
<div class="caption">
<h3>图片3说明文字</h3>
<p>这里是图片3的详细说明文字,可以换行。</p>
</div>
</div>
</div>
</body>
</html>
```
解释一下代码:
- 使用flexbox布局,将图片和说明文字放在一个容器中。
- 将图片包裹在一个带有overflow:hidden属性的div中,设置图片的transition属性,实现图片悬停时的缩放效果。
- 使用绝对定位将说明文字放在图片的底部,设置背景色和透明度,然后设置opacity属性和transition属性,实现文字悬停时的淡入效果。
阅读全文