HTML 部分:
创建了多个 div 元素,每个 div 元素的类名为 thumbnail-container,作为缩略图的容器。
在每个 thumbnail-container 内部,包含一个 img 元素用于显示缩略图,以及另一个 div 元素(类名为 image-info)用于显示图片的标题和日期。
image-info 内部又包含两个 div 元素,分别用于显示标题(类名为 image-title)和日期(类名为 image-date)。

CSS 部分:
.thumbnail-container:设置为 inline-block 布局,使其可以水平排列。使用 position: relative 为子元素的绝对定位提供参考。overflow: hidden 用于隐藏图片放大时超出容器的部分。
.thumbnail:设置图片的宽度和高度,并使用 object-fit: cover 确保图片填充整个容器。transition: transform 0.3s ease 为图片的缩放效果添加过渡动画。
.thumbnail-container:hover .thumbnail:当鼠标悬停在缩略图容器上时,将图片放大 1.1 倍。
.image-info:使用 position: absolute 将其定位在缩略图的底部。设置背景颜色为半透明黑色,文字颜色为白色。初始状态下 opacity: 0 使其不可见,并添加过渡动画。

.thumbnail-container:hover .image-info:当鼠标悬停在缩略图容器上时,将图片信息的透明度设置为 1,使其显示出来。
.image-title 和 .image-date:分别设置标题和日期的字体大小。
JavaScript 部分:此示例中未使用 JavaScript,仅通过 CSS 的 :hover 伪类实现了鼠标悬停效果。
以下是一个使用 HTML、CSS 和 JavaScript 实现缩略图鼠标划过放大效果,并且带有标题和日期的示例代码。这个示例会详细添加中文注释,帮助你理解代码的每一部分。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>缩略图鼠标划过放大效果</title>
<style>
/* 定义缩略图容器的样式 */
.thumbnail-container {
display: inline-block;
margin: 10px;
border: 1px solid #ccc; /* 为容器添加边框 */
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); /* 添加阴影效果 */
transition: transform 0.3s ease;
}
/* 鼠标悬停时,容器放大 1.1 倍 */
.thumbnail-container:hover {
transform: scale(1.1);
}
/* 定义缩略图图片的样式 */
.thumbnail {
width: 200px;
height: 150px;
object-fit: cover;
display: block; /* 去除图片底部的空隙 */
}
/* 定义图片信息容器的样式 */
.image-info {
padding: 10px;
background-color: #f9f9f9; /* 设置背景颜色 */
}
/* 定义图片标题的样式 */
.image-title {
font-size: 16px;
margin-bottom: 5px;
}
/* 定义图片日期的样式 */
.image-date {
font-size: 12px;
color: #888; /* 设置日期颜色 */
}
</style>
</head>
<body>
<!-- 第一个缩略图容器 -->
<div>
<!-- 缩略图图片 -->
<img src="https://www.cnzv.cc/?200x150" alt="示例图片 1">
<!-- 图片信息容器 -->
<div>
<!-- 图片标题 -->
<div>示例图片标题 1</div>
<!-- 图片日期 -->
<div>2024-01-01</div>
</div>
</div>
<!-- 第二个缩略图容器 -->
<div>
<img src="https://www.cnzv.cc/?200x150" alt="示例图片 2">
<div>
<div>示例图片标题 2</div>
<div>2024-02-01</div>
</div>
</div>
</body>
</html>



发表评论