CSS3过渡

一、什么是CSS3过渡

CSS3 过渡(transitions)是一种效果,它允许你平滑地改变CSS属性的值,从一个状态过渡到另一个状态。**是一种动画转换的过程,如渐现、渐弱、动画快慢等。**过渡效果可以在用户与页面进行交互时触发,比如鼠标悬停、点击等。

语法:

二、CSS3过渡动画(Transition)属性

属性名 作用描述 可选值示例 默认值
transition-property 指定哪些CSS属性应用过渡效果 all(所有属性)、widthopacity all
transition-duration 过渡动画持续时间 2s(秒)、500ms(毫秒) 0s
transition-timing-function 定义动画速度曲线(加速度效果) easelinearease-inease-outease-in-outcubic-bezier() ease
transition-delay 动画开始前的延迟时间 1s200ms 0s
简写属性
transition 合并上述属性(顺序:property duration timing-function delay) width 1s ease-in-out 0.5sall 0.3s linear

注意:

三、 过渡应用

1、多属性联合过渡

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    body{
      display:flex;
      justify-content: center;
      align-items: center;
    }
    .btn {
      padding: 12px 24px;
      background-color: #4CAF50;  /* 初始背景色 */
      color: white;
      border: none;
      border-radius: 4px;
      transition: background-color 0.3s ease, transform 0.3s;  /* 简写属性 */
      /*transition: all 0.4s ease-in-out;*/
    }
    .btn:hover {
      background-color: #ac6fb3;  /* 悬停时背景色过渡 */
      transform: scale(1.05) skewX(-5deg);     /* 悬停时轻微放大,倾斜-5度 */
      box-shadow:  8px 8px 16px black;  /* 阴影加深 */
    }
  </style>


</head>
<body>
<button class="btn">点击按钮</button>
</body>
</html>

2、气泡浮动动画

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            margin: 0 auto;
            padding: 100px;
        }
        .bubble {
            width: 50px;
            height: 50px;
            background: #bd3838;
            border-radius: 50%;
            transition: background-color 0.3s , transform 1s cubic-bezier(0.25, 0.1, 0.25, 1); /* 贝塞尔曲线 */
        }

        .bubble:hover {
            background-color: #9356dc; /* 悬停时改变背景颜色 */
            transform: translateY(-20px); /* 悬停时上移 */
        }
    </style>


</head>
<body>
<div class="bubble"></div>
</body>
</html>

3、加载状态提示

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .loader {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 6px solid #f3f3f3; /* 边框颜色 */
            border-top: 6px solid #3498db; /* 顶部边框颜色 */
            opacity: 0.8; /* 透明度 */
            transition: transform 1s linear, opacity 0.5s ease;  /* 多属性独立过渡 */
        }
        .loader:hover {
            transform: rotate(360deg);  /* 悬停时旋转一周 */
            opacity: 1; /* 悬停时完全不透明 */
        }
    </style>

</head>
<body>
<div class="loader"></div>
</body>
</html>
相关推荐
小气小憩2 分钟前
“暗战”百度搜索页:Monica悬浮球被“围剿”,一场AI Agent与传统巨头的流量攻防战
前端·人工智能
前端付豪4 分钟前
1、震惊!99% 前端都没搞懂的 JavaScript 类型细节
前端·javascript·面试
朝与暮4 分钟前
js符号(Symbol)
前端·javascript
恋猫de小郭31 分钟前
对于普通程序员来说 AI 是什么?AI 究竟用的是什么?
前端·flutter·ai编程
大怪v1 小时前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
我是天龙_绍1 小时前
vue3 props 如何写ts,进行类型标注
前端
叫我詹躲躲1 小时前
n8n 自动化工作流平台完整部署
前端·langchain·领域驱动设计
遂心_3 小时前
为什么 '1'.toString() 可以调用?深入理解 JavaScript 包装对象机制
前端·javascript
IT_陈寒3 小时前
JavaScript 性能优化:5 个被低估的 V8 引擎技巧让你的代码快 200%
前端·人工智能·后端
岛风风3 小时前
关于手机的设备信息
前端