自定义动画、旋转基点知识点分享

2023-10-24 05:31

本文主要是介绍自定义动画、旋转基点知识点分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、自定义动画

  • tips:transition属性 叫 过渡动画
  • @keyframes 叫关键帧动画

1、区别:

  •         过渡动画是需要触发才能执行(比如hover 滑过时才有过渡)
  •         关键帧动画打开浏览器马上执行 不需要触发

2、实现关键帧动画分成两步

1>、定义关键帧动画(动画是怎么制作的?)

  • ​  关键帧:

       @keyframes 动画名称 {
           from{ 开始的状态 }
           to{ 结束的状态 }
       }

  •     关键帧:

        @keyframes bian {
           /* 开始时(0%) 100px */
           0%{
               width: 100px;
           }
           /* 结束时1000px */
           100%{
               width: 1000px;
           }
       }

2>、调用关键帧动画

  •   /* animation:动画名字 动画完成时间 动画的速度linear匀速 延迟时间 动画执行次数(infinite无限次) 是否反向执行*/animation:bian 2s linear 5s 2 alternate;bian  动画名字2s    动画的完成时间linear  匀速执行5s    动画延迟时间2     动画执行次数  infinite 代表无限次alternate  动画轮流反向执行animation-name: move;/* 动画名称,引用关键帧, */animation-duration: 2000ms;/* 动画的执行时间   m  ms  1s=1000ms *//* animation-timing-function:规定动画的运动曲线取值:linear  匀速ease;默认值  慢速开始---加速---慢速结束ease-in  以慢速开始ease-out 以慢速结束ease-in-out 以慢速开始和结束*/animation-timing-function: linear;/* 规定动画的运动曲线 */animation-delay: 1s;/* 动画的延迟时间 */animation-iteration-count: 2;/* 动画的执行次数   取值:n(次数)  infinite无限循环*//* animation-direction:规定动画反向播放取值:normal   不反向(默认值)alternate  反向播放*/animation-direction: normal;/* animation-fill-mode:规定动画播放之后显示的状态取值:forwards; 动画结束的状态backwards  动画开始的状态 (默认值)
    ​*/animation-fill-mode: backwards;
    注意:调用动画时,至少写两个值
    animation:动画名字 完成时间;
    案例
    
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;background-color: aqua;position: relative;/* 自定义动画 *//* animation: name duration timing-function delay iteration-count direction fill-mode; *//* animation: move 2s; */animation-name: move;/* 动画名称,引用关键帧, */animation-duration: 2000ms;/* 动画的执行时间   m  ms  1s=1000ms *//* animation-timing-function:规定动画的运动曲线取值:linear  匀速ease;默认值  慢速开始---加速---慢速结束ease-in  以慢速开始ease-out 以慢速结束ease-in-out 以慢速开始和结束*/animation-timing-function: linear;/* 规定动画的运动曲线 */animation-delay: 1s;/* 动画的延迟时间 */animation-iteration-count: 2;/* 动画的执行次数   取值:n(次数)  infinite无限循环*//* animation-direction:规定动画反向播放取值:normal   不反向(默认值)alternate  反向播放*/animation-direction: normal;/* animation-fill-mode:规定动画播放之后显示的状态取值:forwards; 动画结束的状态backwards  动画开始的状态 (默认值)*/animation-fill-mode: backwards;}.box1{width: 200px;height: 200px;background-color: red;position: relative;animation-name: move;/* 动画名称,引用关键帧, */animation-duration: 2000ms;/* 动画的执行时间   m  ms  1s=1000ms */animation-timing-function: linear;}@keyframes move {0%{top: 0px;left: 0px;}100%{top: 0;left: 600px;}}</style>
    </head>
    <body><div class="box"></div><div class="box1"></div>
    </body>
    </html>
    效果

    1658153540031

二、旋转基点 transform-origin

1、元素在进行变幻的时候 基准点默认是正中心

  •  /* 基准点的值 left  top  right  bottom  center */.three:hover{transition:transform 1s;transform: rotate(45deg);transform-origin: right bottom;}
    /* 旋转基点transform-origin: 水平  垂直; 如果只有一个值,另一个值是 center*/

案例

<style>.box{width: 200px;height: 200px;border: 3px solid red;margin: 100px;}.inner{width: 200px;height: 200px;background-color: green;transform: rotateY(45deg);}.box .box1{/* 旋转基点transform-origin: 水平  垂直; 如果只有一个值,另一个值是 center*/transform-origin: left;}</style>
<body><div class="box"><div class="inner"></div></div><div class="box"><div class="inner box1"></div></div>
</body>

 效果

这篇关于自定义动画、旋转基点知识点分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/273007

相关文章

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

基于Spring实现自定义错误信息返回详解

《基于Spring实现自定义错误信息返回详解》这篇文章主要为大家详细介绍了如何基于Spring实现自定义错误信息返回效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景目标实现产出背景Spring 提供了 @RestConChina编程trollerAdvice 用来实现 HTT

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

SpringBoot自定义注解如何解决公共字段填充问题

《SpringBoot自定义注解如何解决公共字段填充问题》本文介绍了在系统开发中,如何使用AOP切面编程实现公共字段自动填充的功能,从而简化代码,通过自定义注解和切面类,可以统一处理创建时间和修改时间... 目录1.1 问题分析1.2 实现思路1.3 代码开发1.3.1 步骤一1.3.2 步骤二1.3.3

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

dubbo3 filter(过滤器)如何自定义过滤器

《dubbo3filter(过滤器)如何自定义过滤器》dubbo3filter(过滤器)类似于javaweb中的filter和springmvc中的intercaptor,用于在请求发送前或到达前进... 目录dubbo3 filter(过滤器)简介dubbo 过滤器运行时机自定义 filter第一种 @A