全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-16 6 分钟 ✍️ juanwangdev

CSS过渡基础

CSS过渡让元素从一种样式平滑过渡到另一种样式,无需JavaScript即可实现动画效果。

过渡概念

过渡是CSS3提供的动画机制,当元素CSS属性值变化时,在指定时间内平滑过渡而非瞬间切换。

CSS
.box {
  width: 100px;
  height: 100px;
  background: red;
  transition: width 0.3s;
}

.box:hover {
  width: 200px;
}

触发方式

过渡由状态变化触发,常见触发方式:

触发方式示例
伪类:hover:focus:active
类名切换JavaScript添加/移除类
属性修改JavaScript直接修改样式

基本语法

CSS
transition: 属性名 持续时间 延迟时间 缓动函数;

简写示例

CSS
/* 单个属性 */
transition: width 0.3s;

/* 多个属性 */
transition: width 0.3s, height 0.5s;

/* 所有属性 */
transition: all 0.3s ease;

分写属性

CSS
transition-property: width;        /* 过渡属性 */
transition-duration: 0.3s;         /* 持续时间 */
transition-delay: 0.1s;             /* 延迟时间 */
transition-timing-function: ease;  /* 缓动函数 */

可过渡属性

只有具有中间值的CSS属性才能过渡:

CSS
/* 可过渡 */
width, height, margin, padding, opacity, color, background-color, transform

/* 不可过渡 */
display, visibility: hidden, position

过渡要求属性值必须有数值或颜色中间态,display: nonedisplay: block 无法过渡。

简单示例

CSS
.btn {
  background: #3498db;
  color: white;
  padding: 10px 20px;
  border-radius: 4px;
  transition: background 0.3s, transform 0.3s;
}

.btn:hover {
  background: #2980b9;
  transform: translateY(-2px);
}

注意事项

  • 必须有起始状态和结束状态
  • 持续时间必填,默认为0则无过渡效果
  • 过渡效果在状态恢复时同样生效
  • 性能优先选择 transformopacity

要点总结

  • 过渡实现状态变化的平滑动画
  • 通过伪类或类名切换触发
  • transition: 属性 时长 延迟 缓动 为完整简写
  • 只有具中间值的属性可过渡
  • 优先过渡 transformopacity 以优化性能

📝 发现内容有误?点击此处直接编辑

← 上一篇 CSS动画属性与配置
下一篇 → CSS过渡属性与参数
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库