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

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

相关文章

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

SpringBoot 自定义消息转换器使用详解

《SpringBoot自定义消息转换器使用详解》本文详细介绍了SpringBoot消息转换器的知识,并通过案例操作演示了如何进行自定义消息转换器的定制开发和使用,感兴趣的朋友一起看看吧... 目录一、前言二、SpringBoot 内容协商介绍2.1 什么是内容协商2.2 内容协商机制深入理解2.2.1 内容

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na