答案:通过:hover伪类结合transition、transform和box-shadow实现卡片悬停效果。首先构建基础卡片结构,设置圆角、阴影和过渡属性,再定义悬停时上移并增强阴影,可选添加背景色变化等增强视觉反馈,使交互更自然流畅。

实现卡片项的伪类悬停效果,主要通过 :hover 伪类来完成。你可以结合 CSS 的过渡(transition)、变换(transform)和阴影(box-shadow)等属性,让悬停时的视觉反馈更自然、更具吸引力。
1. 基础卡片结构
先定义一个简单的卡片 HTML 结构:
2. 基本样式设置
为卡片添加基础样式,使其看起来像一个“卡片”:
.card {
width: 250px;
padding: 20px;
border-radius: 8px;
background-color: #fff;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
transition: all 0.3s ease;
}
注意:transition 属性是实现平滑动画的关键,它让变化过程更柔和。
3. 添加 hover 悬停效果
使用 :hover 伪类来定义鼠标悬停时的效果:
.card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 20px rgba(0,0,0,0.15);
cursor: pointer;
}
说明:
- transform: translateY(-5px):让卡片轻微上移,产生“浮起”感
- box-shadow 扩大:增强阴影,模拟立体提升效果
- cursor: pointer:提示用户该元素可交互
4. 可选增强效果
你还可以添加更多视觉反馈:- 颜色变化:悬停时改变背景或文字颜色
- 边框动画:配合 border 或 outline 实现描边效果
- 渐变背景:使用 background-image 配合 hover 切换
.card:hover {
background-color: #f9f9f9;
}
基本上就这些。通过组合 :hover 与 transition、transform 和 box-shadow,就能实现自然流畅的卡片悬停动效,不复杂但容易忽略细节。










