CSS3 简写animation

yizhihongxing

当我们需要为网站设计动画效果时,CSS3提供了强大的动画功能。其中非常重要的一个功能就是animation简写属性,它可以让我们快速设置动画效果。

animation属性

animation属性是由多个子属性组成的简写属性。下面是animation属性的完整语法:

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

其中,第一个参数name是必需的,其他参数都是可选的。下面是每个参数的作用:

  • name:动画的名称。动画名称指的是在@keyframes中定义的动画。
  • duration:动画的时长。它可以是一个数字值或一个时间值。如:1s或2.5s。
  • timing-function:动画的时间函数。它控制动画的速度变化。如:linear(匀速)、ease-in(慢到快)、ease-out(快到慢)、ease-in-out(慢到快再到慢)等。
  • delay:动画延迟多长时间开始执行。它可以是一个数字值或一个时间值。如:0.5s或1s。
  • iteration-count:动画的循环次数。它可以是一个数字值或关键字。如:1、3、infinite。
  • direction:动画是否反向播放。它可以是关键字:normal(顺序播放)、reverse(反向播放)、alternate(来回播放)和alternate-reverse(反向来回播放)。
  • fill-mode:设置动画的最终状态。它可以是关键字:none(回到起始状态)、forwards(保留最后一帧)、backwards(使用起始帧)、both(同时应用forwards和backwards)。
  • play-state:动画的播放状态。它可以是关键字:running(播放中)和paused(暂停)。

下面是一个简单的animation属性的示例:

div {
    animation: mymove 2s linear 1s infinite alternate;
}

这个示例中,动画名称为mymove,动画时长为2s,时间函数为linear,延迟1s后开始执行,循环播放,并且每次播放时倒转方向。

简写动画animation示例

下面是两个简写动画animation的示例:

示例一:旋转动画

.box {
  width: 100px;
  height: 100px;
  background-color: blue;
  animation: rotate 2s linear infinite;
}
@keyframes rotate {
  from { transform: rotate(0deg);}
  to { transform: rotate(360deg);}
}

这个示例中,我们给一个蓝色的div添加了一个旋转动画,动画名称为rotate,动画时长为2秒,动画时间函数为线性变化,循环播放。

示例二:闪烁动画

.box {
  width: 100px;
  height: 100px;
  background-color: blue;
  animation: blinking 2s ease-in-out infinite;
}
@keyframes blinking {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}

这个示例中,我们给一个蓝色的div添加了一个闪烁动画,动画名称为blinking,动画时长为2秒,动画时间函数为缓进缓出,循环播放。在动画的关键帧中,我们设置了3个帧,分别为开始(0%)、中间(50%)、结束(100%),每个帧的透明度不同,效果就是一个闪烁的动画。

总之,animation属性是我们实现动画效果的一种强大工具,我们可以通过简写它的各个参数,让动画的设置更加快速、方便。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS3 简写animation - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 只要1K 纯JS脚本送你一朵3D红色玫瑰

    下面是“只要1K 纯JS脚本送你一朵3D红色玫瑰”的完整攻略。 简介 这是一篇介绍如何使用纯JS脚本实现一个3D红色玫瑰特效的攻略。这个特效非常小巧,只有1K的脚本大小,而且在支持CSS3的浏览器中使用硬件加速,可以达到不错的性能表现。该特效适用于制作一些简单而独特的网页元素,如背景、按钮等等。 步骤 以下是实现该特效的具体步骤: 第一步:引用JS库 在网页…

    css 2023年6月10日
    00
  • CSS中怎么让DIV居中亲自实验得出的结论

    在 CSS 中,让 DIV 元素居中是一个常见的需求。以下是关于如何让 DIV 元素居中的完整攻略。 方法一:使用 margin 属性 使用 margin 属性是让 DIV 元素居中的一种常见方法。以下是一个示例: <div class="container"> <div class="box"&gt…

    css 2023年5月18日
    00
  • 宽度百分比单位的转换公式及示例

    转换百分比单位的前提是需要知道相应的基础宽度值。一般情况下,基础宽度值是指参照物的宽度值。下面是宽度百分比单位的转换公式及示例: 宽度百分比单位的转换公式 在CSS中,宽度百分比单位的转换公式如下 宽度(像素) = 宽度百分比 * 参照物宽度(像素) / 100% 宽度百分比单位的示例说明 示例1 假设参照物的宽度为800像素,那么50%的宽度是多少? 宽度…

    css 2023年6月10日
    00
  • js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动

    下面我将详细讲解如何使用JavaScript实现遮罩层登录框和对联广告,并使其自动跟随滚动条滚动的完整攻略。 实现遮罩层登录框 制作遮罩层 制作遮罩层可以通过CSS中的 position 和 z-index 来实现,具体步骤如下: 1.将整个页面包含在一个父容器内,然后设置父容器为相对定位 position: relative。 .parent-contai…

    css 2023年6月10日
    00
  • JavaScript严格模式

    JavaScript严格模式是一种JavaScript的语言模式,它具有更严格的语法规则和更加安全的行为。使用严格模式可以更早地检测出代码错误,并防止一些常见的JavaScript陷阱。在本文中,我们将深入探讨JavaScript严格模式,介绍它的用法、优势和限制,并提供代码示例。 1.使用严格模式 启用JavaScript严格模式的方法很简单:只需要在代码…

    Web开发基础 2023年3月30日
    00
  • vue.js引用背景图background无效的3种解决方案

    下面是关于“vue.js引用背景图background无效的3种解决方案”的完整攻略。 问题描述 在使用 Vue.js 进行开发时,我们通常会用到 CSS 中的背景图,但是有很多时候我们会发现,使用 background 属性来引入图片时,图片并没有被正确地引入,出现无法显示的情况。那么这个问题该怎么解决呢? 解决方案 方案一:使用 require 方法 在…

    css 2023年6月9日
    00
  • JS+CSS实现TreeMenu二级树形菜单完整实例

    当用户需要在页面展示大量的分类信息时,树形菜单就可以提供一种直观并便捷的分类方式。同时,TreeMenu是一种常见的树形菜单,它可以很好地帮助用户快速定位和操作特定的选项。本攻略将介绍如何使用JS和CSS实现一个简单的TreeMenu二级树形菜单,并提供两个示例说明,以帮助您更好地理解实现过程。 实现思路 TreeMenu菜单可以通过HTML、CSS和Jav…

    css 2023年6月10日
    00
  • vue实现设置载入动画和初始化页面动画效果

    下面我详细讲解“vue实现设置载入动画和初始化页面动画效果”的完整攻略。 1. 载入动画实现 1.1 基本思路 在Vue中,可以使用Vue的生命周期函数和异步组件的方式实现载入动画。 在开始加载数据时,可以在data中定义一个loading变量,初始值为true。当数据加载完成后,修改loading值为false,并在页面中根据loading状态显示动画效果…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部