css_贝塞尔曲线的变速与匀速

简介: css_animation

模拟animation效果

20210511110616311.gif

参考MDN文档说明:https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions
animation-timing-function常见的四种速率变化

  • ease 默认值,朝向动画中间的速度增加,最后逐渐减慢
  • ease-in 开始时会缓慢,随着动画属性过渡的速度增加,直到完成为止
  • ease-in-out 动画属性缓慢过渡,加速,然后再次减速
  • ease-out 开始很快,放慢动画的速度继续
  • linear 线性匀速

    实现模拟

    整体布局

    <div class='box'>
     <ul>
         <li>ease</li>
         <li>ease-in</li>
         <li>ease-in-out</li>
         <li>ease-out</li>
         <li>linear</li>
     </ul>
    </div>
    
    image.png

转换为1行5列

  • grid-template 网络划分
  • gap 间距
    ul{
         
         
     display: grid;
     grid-template:1fr/repeat(5,1fr);
     list-style: none;
     gap:1em;
    }
    li{
         
         
     text-align: center;
     color: #000000;
     text-transform: uppercase;
     height:50px;
     width: 100px;
     animation-name: move;
     animation-duration: 6s;
     animation-iteration-count:infinite;
    }
    

    动画

    下移80%;
    @keyframes move{
         
         
     to{
         
         
         transform: translateY(80vh);
     }
    }
    li:nth-child(1){
         
         
     background: #CAD3C8;
     animation-timing-function: ease;
    }
    li:nth-child(2){
         
         
     background: #3B3B98;
     animation-timing-function: ease-in;
    }
    li:nth-child(3){
         
         
     background: #B33771;
     animation-timing-function: ease-in-out;
    }
    li:nth-child(4){
         
         
     background: #25CCF7;
     animation-timing-function: ease-out;
    }
    li:nth-child(5){
         
         
     background: #EAB543;
     animation-timing-function: linear;
    }
    

    整体

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>annimation</title>
        <style>
            * {
    
    
                margin: 0;
                padding: 0;
            }

            body {
    
    
                width: 100vw;
                height: 100vh;
                background: #7f8fa6;
                display: grid;
                grid-template: 1fr/1fr;
            }

            .box {
    
    
                margin: 0 auto;
            }

            ul {
    
    
                display: grid;
                grid-template: 1fr/repeat(5, 1fr);
                list-style: none;
                gap: 1em;
            }

            li {
    
    
                text-align: center;
                color: #000000;
                text-transform: uppercase;
                height: 50px;
                width: 100px;
                animation-name: move;
                animation-duration: 6s;
                animation-iteration-count: infinite;
            }

            @keyframes move {
    
    
                to {
    
    
                    transform: translateY(80vh);
                }
            }

            li:nth-child(1) {
    
    
                background: #CAD3C8;
                animation-timing-function: ease;
            }

            li:nth-child(2) {
    
    
                background: #3B3B98;
                animation-timing-function: ease-in;
            }

            li:nth-child(3) {
    
    
                background: #B33771;
                animation-timing-function: ease-in-out;
            }

            li:nth-child(4) {
    
    
                background: #25CCF7;
                animation-timing-function: ease-out;
            }

            li:nth-child(5) {
    
    
                background: #EAB543;
                animation-timing-function: linear;
            }
        </style>
    </head>
    <body>
        <div class='box'>
            <ul>
                <li>ease</li>
                <li>ease-in</li>
                <li>ease-in-out</li>
                <li>ease-out</li>
                <li>linear</li>
            </ul>
        </div>
    </body>
</html>

结束

1122.gif

目录
相关文章
|
前端开发
css_animation运动的贝塞尔曲线
css_animation运动的贝塞尔曲线
113 0
|
Web App开发 前端开发
嘿,朋友,其实 CSS 动画超简单的 - 时间函数篇(贝塞尔曲线、steps,看完还不懂算我输)
时间函数在 CSS 动画中至关重要,它会直接影响到动画的展现效果,然而由于相对其它属性而言较为复杂,可能了解的人较少,今天详细讲一讲时间函数。
|
7月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
7月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
7月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
7月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
7月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
7月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    277
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    247
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    194
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    151
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    301
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    436
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    193
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    135
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    202
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    279