热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS3动画animation

CSS3动画animation-一、创建动画前首先我们要了解什么是animationanimation是css3的新属性,尚处于实验阶段,各种不同内核的浏览器都在进行试验中,也就
一、创建动画前首先我们要了解什么是 animation

animation 是 css3 的新属性,尚处于实验阶段,各种不同内核的浏览器都在进行试验中,也就是说 animation 在不同的浏览器中其支持程度、运行效果等方面是存在差别的,因此为了保证网页在各种浏览器中的兼容性,就要给 animation 添加各种浏览器特有的前缀,比如说 -webkit-animation 只有 webkit 内核的浏览器才能识别并执行,其他则会自动忽略。

目前,IE10+、Firefox 以及 Opera 都已支持标准的 animation 属性,而 Safari 和 Chrome(它们都是 webkit 内核)则只支持 -webkit-animation 属性,所以你的代码简写成以下即可:

-webkit-animation: animations 2s ease-out 1s backwards;
animation: animations 2s ease-out 1s backwards;

1.1 animation 的语法:

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

1.2 animation 的取值:

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

animation-name:

指定要绑定到选择器的关键帧的名称

animation-duration:

动画花费的时间,设置为 0 则不执行

time:       指定动画播放完成花费的时间。默认值为 0,意味着没有动画效果。

animation-timing-function:

指定动画将如何完成一个周期。

linear:         动画从头到尾的速度是相同的。
ease:           默认。动画以低速开始,然后加快,在结束前变慢。
ease-in:        动画以低速开始。
ease-out:   动画以低速结束。
ease-in-out:    动画以低速开始和结束。
cubic-bezier(n,n,n,n):    在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。

animation-delay:

动画延迟开始时间 设置为 0 则不延迟

time:      可选。定义动画开始前等待的时间,以秒或毫秒计。默认值为0

animation-iteration-count:

定义动画的循环次数

n:         一个数字,定义应该播放多少次动画
infinite:  指定动画应该播放无限次(永远)

animation-direction:

定义是否循环交替反向播放动画。

normal:                 默认值。动画按正常播放。
reverse:                动画反向播放。
alternate:          动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。
alternate-reverse:  动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放。
initial:                设置该属性为它的默认值。    
inherit:                从父元素继承该属性。

animation-fill-mode

定义当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

none:        默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。
forwards:    在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。
backwards:   动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都 
             是from 关键帧中的值(当 animation-direction 为 "normal" 或 "alternate" 时)或 to 关键
             帧中的值(当 animation-direction 为 "reverse" 或 "alternate-reverse" 时)。
both:        动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。
initial:     设置该属性为它的默认值。
inherit:     从父元素继承该属性。

animation-play-state

指定动画是否正在运行或已暂停。

paused      指定暂停动画
running     指定正在运行的动画
二、了解 animation 后我们在来谈谈如何创建动画:

第一步:

首先我们要通过 @keyframes 来创建动画,同时必须还要跟上动画名称,比如 mycolor

其次再指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式

例:

@keyframes mycolor {

    /* 起始 */
    from {
        background-color: darkseagreen;
    }

    /* 结束 */
    to {
        background-color: deeppink;
    }
}

第二部:

通过 animation 绑定到选择器中,同时至少要有动画名称和动画变化的时长


    
    
    



    

为了更精确的效果,可将 from、to 改为百分数

如:


    
    
    



    

推荐阅读
  • 本文详细介绍了如何使用 CSS3 的 background-clip 和 background-origin 属性来裁剪和定位背景图片,以及如何通过 background-size 控制背景图片的尺寸。 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 在第10天的夜灵HTML日志中,我们深入探讨了浏览器兼容性和高级选择器的应用。CSS3引入了许多新属性,但在旧版浏览器中的支持情况并不理想。然而,目前主流浏览器的最新版本已全面支持这些新特性。对于那些不支持CSS3新属性的浏览器,我们提供了多种解决方案,以确保网站在不同环境下的兼容性和用户体验。此外,我们还详细讨论了如何利用高级选择器提升页面布局的灵活性和可维护性。 ... [详细]
  • background:-webkit-gradient(linear,10%10%,100%100%, ... [详细]
  • 移动端浏览器为了识别用户的双击放大操作,通常会在点击后引入300毫秒的延迟。虽然这种延迟在日常使用中可能不易察觉,但对于需要即时响应的应用(如网页游戏)来说,消除这一延迟至关重要。 ... [详细]
  • 本文深入探讨了HTML5中十五个重要的新特性,为开发者提供了详细的指南。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 为了实现跨浏览器兼容的禁用文本选择功能,可以通过在全局CSS样式中定义一个特定的类来禁止用户选中文本。具体做法是在全局样式表中添加一个名为 `.no-select` 的类,并在需要禁用文本选择的元素上应用该类。这样可以确保在不同浏览器中都能达到一致的效果。此外,还可以结合JavaScript进一步增强用户体验,例如在某些交互场景下动态启用或禁用文本选择功能。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 软件测试工程师必备:全面解析Web应用的浏览器兼容性测试方法与工具
    随着市场上浏览器种类的不断增多,特别是在平板和移动设备上的普及,确保网站在各种浏览器中都能正常运行变得尤为重要。本文将深入探讨Web应用的浏览器兼容性测试方法与工具,帮助软件测试工程师全面掌握这一关键技能,以提高应用的用户体验和可靠性。 ... [详细]
author-avatar
心里有事1_891
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有