
卡片悬浮提示效果中,CSS transition 能让提示内容的出现和消失更自然,避免生硬跳入跳出。通过控制透明度、位移或高度等属性的渐变过程,实现平滑动画。
透明度渐显(Opacity + Visibility)
常用于工具提示或隐藏信息的淡入淡出效果。初始状态设置为完全透明且不可见,鼠标悬停时变为可见并逐渐显现。
示例代码:
.card-tooltip {
opacity: 0;
visibility: hidden;
position: absolute;
top: -50px;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.card:hover .card-tooltip {
opacity: 1;
visibility: visible;
}
位移动画(Transform + Transition)
让提示框从卡片边缘滑入,增强动态感。配合 transform 移动位置,transition 控制滑动速度和节奏。
常用技巧:- 使用 translateX 或 translateY 实现无布局重排的移动
- 搭配 ease-in-out 缓动函数更自然
.tooltip-slide {
transform: translateY(10px);
opacity: 0;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.card:hover .tooltip-slide {
transform: translateY(0);
opacity: 1;
}
尺寸展开(Height + Overflow)
适用于底部展开式提示,比如显示更多信息区域。通过改变 height 或 max-height 实现伸缩动画。
立即学习“前端免费学习笔记(深入)”;
注意点:- height 设为具体值或使用 max-height 配合大数值
- overflow: hidden 确保内容不外溢
.tooltip-panel {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
}
.card:hover .tooltip-panel {
max-height: 200px;
}
基本上就这些。合理使用 transition 可以显著提升用户体验,关键是选择合适的属性组合与缓动函数,让提示既明显又不突兀。










