zoukankan      html  css  js  c++  java
  • css3 过渡

    过渡(transition)

    通过过渡可以指定一个属性发生变化时的切换方式

    通过过渡可以创建一些非常好的效果,提升用户的体验

    transition-property

    transition-property: 指定要执行过渡的属性

    多个属性间使用 , 隔开
    如果所有属性都需要过渡,则使用 all 关键字,all 是 默认值

    大部分属性都支持过渡效果,注意过渡时必须是从一个有效数值向另外一个有效数值进行过渡

    transition: width, margin;
    transition: all;
    

    transition-duration

    transition-duration: 指定过渡持续的时间

    时间单位:s 和 ms
    1s = 1000ms

    transition-duration: 500ms;
    transition-duration: .5s;
    

    transition-timing-function

    transition-timing-function: 过渡的时序函数

    指定过渡的执行的方式
    可选值:

    • ease 默认值,慢速开始,加速,慢速结束

    • linear 线性,匀速运动

    • ease-in 慢速开始,加速到结束

    • ease-out 加速开始,慢速结束

    • ease-in-out 先加速后减速,和 ease 和细微差别

    • cubic-bezier() 贝塞尔曲线函数

      https://cubic-bezier.com

    • steps() 分步执行过渡效果
      第一个值为 步数

      可以设置第二个值:
      end , 在时间结束时执行过渡(默认值)
      start , 在时间开始时执行过渡

    transition-delay

    transition-delay: 延迟时间

    过渡效果的延迟,等待一段时间后在执行过渡

    transition

    transition:

    可以同时设置过渡相关的所有属性,只有一个要求,如果要写延迟,则两个时间中第一个是持续时间,第二个是延迟。省略的属性都采用默认值。

    .box2{
        background-color: #bfa;
        transition: margin-left 2s 1s cubic-bezier(.24,.95,.82,-0.88);
    }
    .box3{
        background-color: orange;
        transition-property: all;
        transition-timing-function: linear;
        transition-duration: 2s;
        transition-delay: 1s;
    }
    

    效果

    transition

    米兔 练习

    bigtap-mitu-queue-big

    用过度效果对上面的雪碧图实现动画效果

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>米兔</title>
        <style>
            .mitu {
                 132px;
                height: 271px;
                margin: 100px auto;
                background-image: url("https://gitee.com/Liwker/picture/raw/master/img/20210106145912.png");
                background-position: 0 0;
                background-repeat: repeat-x;
    
                /* 通过过度设置动画 */
                transition-property: background-position;
                transition-duration: 3s;
                /* 每3(n-1)步为一个周 */
                transition-timing-function: steps(15 ,end);
            }
            .mitu:hover {
                /* 对图片经过计算,一个周需要移动 -396px */
                background-position: -1980px 0;
            }
    
        </style>
    </head>
    <body>
        <div class="mitu"></div>
    </body>
    </html>
    

    效果

    米兔

  • 相关阅读:
    由sqlite3入门数据库学习
    Python"八荣八耻"
    Mysql数据导出-Ubuntu
    python-open-cv 自动人脸识别安装包
    Pymysql mysqllient 那些问题!
    MySQL查询(未完结)
    Scarpy+selenium 结合使用
    Scrapy框架的使用 -- 自动跳转链接并请求
    Scrapy框架的使用
    MySQL基础
  • 原文地址:https://www.cnblogs.com/Liwker/p/14241183.html
Copyright © 2011-2022 走看看