Appearance
卡片遮罩滑入动画
鼠标悬停时,深色遮罩从底部滑入并显示说明文字。
实时预览
这是遮罩信息
代码
css
.card { position: relative; overflow: hidden; border-radius: 12px; }
.card .overlay {
position: absolute; inset: 0;
background: rgba(0,0,0,0.7); color: #fff;
transform: translateY(100%);
transition: transform 0.4s;
display: flex; align-items: center; justify-content: center;
}
.card:hover .overlay { transform: translateY(0); }html
<div class="card">
<div class="overlay">这是遮罩信息</div>
</div>纯 CSS 实现的卡片遮罩滑入动画卡片动画效果——通过变换、阴影和滤镜让卡片在悬停时产生层次变化。适用于产品展示、文章列表、个人主页等内容型网站的卡片组件。
快速使用
- 复制 CSS 代码到你的样式文件中
- 在需要应用动画的卡片容器上添加对应的 class
- 根据需要调整卡片的宽高、圆角和内边距
- 修改颜色和阴影值以匹配你的品牌风格
使用场景
- 产品展示卡片:悬停浮起+阴影增强,突出当前关注的商品
- 文章列表:卡片翻转展示标题和摘要的双面信息
- 仪表盘/数据面板:毛玻璃卡片配合模糊背景营造层次感
- 个人主页/简历:3D 倾斜卡片跟随鼠标展示趣味交互
常见问题
Q: 卡片翻转效果如何实现两面不同内容? A: 使用 transform-style: preserve-3d + backface-visibility: hidden,正面和背面分别放在两个绝对定位的子元素中,背面用 transform: rotateY(180deg) 初始隐藏。
Q: 毛玻璃效果对性能有影响吗? A: backdrop-filter: blur() 是 GPU 密集型操作。建议只在需要强调的卡片上使用,不要在页面上大量铺开。移动端可以考虑降低模糊半径或关闭毛玻璃效果。
Q: 卡片阴影动画会触发重排吗? A: box-shadow 的变化会触发重绘(repaint)但不触发重排(reflow)。如果卡片数量多,建议用伪元素 + opacity 过渡模拟阴影变化,避免频繁重绘。
浏览器兼容性
| 浏览器 | 兼容性 |
|---|---|
| Chrome / Edge | ✅ 完全支持(含 backdrop-filter) |
| Firefox | ✅ 完全支持 |
| Safari | ✅ 完全支持(需 -webkit-backdrop-filter) |
| 移动端浏览器 | ✅ 完全支持 |
| IE 11 | ❌ backdrop-filter 和 3D transform 不支持 |
使用说明
| 属性 | 说明 |
|---|---|
position: relative/absolute | 父相子绝对定位 |
transform: translateY(100%) | 初始位置在底部外侧 |
overflow: hidden | 隐藏超出部分 |
transition | 过渡滑入动画 |