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

目录
相关文章
|
8月前
|
前端开发
css_animation运动的贝塞尔曲线
css_animation运动的贝塞尔曲线
36 0
|
Web App开发 前端开发
嘿,朋友,其实 CSS 动画超简单的 - 时间函数篇(贝塞尔曲线、steps,看完还不懂算我输)
时间函数在 CSS 动画中至关重要,它会直接影响到动画的展现效果,然而由于相对其它属性而言较为复杂,可能了解的人较少,今天详细讲一讲时间函数。
|
10天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
83 24
|
5月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
2月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
73 7
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
48 6
|
2月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
51 5

热门文章

最新文章