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

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>

 效果

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


原文地址:https://blog.csdn.net/lak_an_ke/article/details/125861250
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/273007

相关文章

Kotlin Compose Button 实现长按监听并实现动画效果(完整代码)

《KotlinComposeButton实现长按监听并实现动画效果(完整代码)》想要实现长按按钮开始录音,松开发送的功能,因此为了实现这些功能就需要自己写一个Button来解决问题,下面小编给大... 目录Button 实现原理1. Surface 的作用(关键)2. InteractionSource3.

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

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日志格式各