css3如何实现循环执行动画(每次都有延迟)?

本章给大家介绍css3如何实现循环执行动画(每次都有延迟),通过实例让大家了解实现效果的过程。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、最终效果

1.gif

需求:gift图片的小动画每隔2s执行一次。

需求就一句话,我们看一下实现过程。

立即学习“前端免费学习笔记(深入)”;

二、实现过程

1、网页结构

        Document        a {        display: inline-block;        background-color: #cc2222;        text-decoration: none;        color: #fff;        font-size: 14px;        padding: 10px 12px;        width: 100px;        position: relative;    }        .ico {        position: absolute;        width: 14px;        height: 16px;        background: url(images/ico.png) no-repeat center;        background-size: 100%;        position: absolute;        top: 4px;        right: 27px;    }        

效果图:

1.jpg

2、原始动画

原始动画效果为:鼠标hover上去出现动画。

动画样式如下:

/*动画*/    .ico:hover{    -webkit-animation: Tada 1s both;    -moz-animation: Tada 1s both;    -ms-animation: Tada 1s both;    animation: Tada 1s both}/*浏览器兼容性部分略过*/@keyframes Tada {    0% {        transform: scale(1);        transform: scale(1)    }    10%,20% {        transform: scale(0.9) rotate(-3deg);        transform: scale(0.9) rotate(-3deg)    }    30%,50%,70%,90% {        transform: scale(1.1) rotate(3deg);        transform: scale(1.1) rotate(3deg)    }    40%,60%,80% {        transform: scale(1.1) rotate(-3deg);        transform: scale(1.1) rotate(-3deg)    }    100% {        transform: scale(1) rotate(0);        transform: scale(1) rotate(0)    }}

效果:鼠标hover上去gift图片会动一动。

2.gif

3、实现变化后的需求

需求变动,要求不再是hover上去展示动画,而是每隔2s展示一次动画。

思路:不需要hover上去出现动画,就把hover去掉,每隔2s显示一次动画,很容易想到延迟2s,然后动画一直执行。

此时相关样式变成:

.ico {-webkit-animation: Tada 1s 2s both infinite;-moz-animation: Tada 1s 2s both infinite;-ms-animation: Tada 1s 2s both infinite;animation: Tada 1s 2s both infinite;}

但是显示的效果是:页面加载第一次出现动画会延迟2s,后面的动画将不再有延迟。如下,这是不符合需求的。

为了看出效果,下图为延迟6s的效果。

1.gif

此时换种思路,不要延迟执行动画,而是动画的效果本身就是前2s元素不动,后1s是元素动,然后一直循环执行。 这样在视觉上就会看起来是延迟2s执行1s动画。

计算一下,原来的百分比节点变成了多少。

2.png

将动画总时长变成3s,用计算出的百分比替换原来的百分比,代码如下:

.ico{    -webkit-animation: Tada 3s both infinite;    -moz-animation: Tada 3s both infinite;    -ms-animation: Tada 3s both infinite;    animation: Tada 3s both infinite;}@keyframes Tada {    0% {        transform: scale(1);        transform: scale(1)    }    70%,73%{        transform: scale(0.9) rotate(-3deg);        transform: scale(0.9) rotate(-3deg)    }    77%,83%,90%,97%  {        transform: scale(1.1) rotate(3deg);        transform: scale(1.1) rotate(3deg)    }    80%,87%,93%{        transform: scale(1.1) rotate(-3deg);        transform: scale(1.1) rotate(-3deg)    }    100% {        transform: scale(1) rotate(0);        transform: scale(1) rotate(0)    }}

效果就是我们期望的了:

1.gif

以上就是css3如何实现循环执行动画(每次都有延迟)?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1611876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:36:44
下一篇 2025年12月24日 02:36:56

相关推荐

  • css实现圆与边框旋转动画的代码实例

    本篇文章给大家带来的内容是关于css实现圆与边框的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 实现效果: 代码 html: css: #box { height:200px; width:200px; } .circle-out{ height: inherit; wi…

    2025年12月24日
    000
  • 图文详解鼠标事件CSS:hover和JS:mouseover的区别

    在工作中为了使页面更具有吸引力,前端开发人员经常会在页面中加上鼠标移入和移出的效果。鼠标移入移出的设置,一般有两种方法,一种是单纯用css中的hover伪类,另一种可以用js 中的dom事件,即onmouseover和onmouseout。接下来这篇文章就和大家讲讲css伪类hover和js鼠标事件…

    2025年12月24日 好文分享
    000
  • 如何用纯CSS方式实现CSS动画的暂停与播放效果?animation-play-state属性介绍(详解)

    使用纯 css 的方法,暂停或播放 css 动画。是不是看起来应该是不可能的实现的;或者就算可以实现,也是一个很麻烦的实现方法,需要用大量的css样式才可以实现。其实不然,在 css3 animation 中,就有这样一个属性可以做到暂停、播放动画。本章就给大家介绍如何用纯css方式实现css动画的…

    2025年12月24日 好文分享
    000
  • css3如何区分background-clip和background-origin ?(代码实例)

    本章给大家介绍css3如何区分background-clip和background-origin?(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在css3中,background-clip和background-origin它们2个的功能大致相同,但又有些细微差别。 …

    2025年12月24日
    000
  • 详解CSS:hover伪类选择器的使用方法(附代码)

    在工作中为了使页面有动感,前端开发人员经常会在页面中加上鼠标经过和鼠标移出的效果,使页面更具有吸引力。这篇文章就和大家讲讲css中的hover事件,css:hover怎么使用,以及用代码说明怎么用css:hover变色。需要的小伙伴,继续往下看吧。 细心的小伙伴会发现,几乎每个网站都会用到hover…

    2025年12月24日
    000
  • css3颜色渐变:css3如何实现背景颜色渐变?

    为了开发网页的美观,css3背景颜色渐变是经常会用到的,那么,css3背景颜色渐变如何设置呢?本篇文章我们就来介绍关于css颜色渐变背景的设置方法。 我们要知道的是css3渐变有两种类型:css3线性渐变和css3径向渐变,下面我们就来看一下这两种css3渐变实现背景颜色渐变的效果是怎样的。 一、c…

    2025年12月24日
    000
  • 你不知道的CSS3目标伪类选择器target(代码实例解析)

    最近在梳理css的知识,发现了很多知识盲区,归根结底还是以前学习的时候低估了css,认为它太简单,应该把重点放在js上面。今天就分享一个实用的css3小知识,即css3:target选择器,还可以用css3:target做一个类似tab的切换效果。相信很多人应该也不熟悉这是属性吧。那继续往下看吧。 …

    2025年12月24日 好文分享
    000
  • 如何使用纯CSS实现悬停时右移的按钮效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现悬停时右移的按钮效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • css3-动画(animation)效果的实现

    本章给大家介绍css3-动画(animation)效果的实现,让大家了解一个简单的css3动画是如何实现的。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css3-动画(animation): 具有以下属性: 1、animation-name 自定义动画名称2、animation-…

    2025年12月24日
    000
  • ​CSS3如何实现字体抗锯齿渲染效果?-webkit-font-smoothing属性(实例)

    本章给大家介绍css3如何实现字体抗锯齿渲染效果?-webkit-font-smoothing属性(实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 对字体进行抗锯齿渲染可以使字体看起来会更清晰舒服。在图标字体成为一种趋势的今天,抗锯齿渲染使用也越来越多。 font-smoot…

    好文分享 2025年12月24日
    000
  • CSS3中的calc()是什么?calc()怎么使用呢?

    很多人都不知道calc()是什么,那今天就来学习calc(),学习之前我们有必要先知道calc()是什么?只有知道了他是个什么东西?在实际运用中才能更好的使用他。那接下来就围绕calc()展开。 calc()是什么? calc()从字面我们可以把他理解为一个函数function。其实calc是英文单…

    好文分享 2025年12月24日
    000
  • css3如何实现过渡动画的效果?css3过渡效果的实现方法

    有时候我们在网页中可能会看到这样的效果,当鼠标放到某些文字或图像上的时候会发生一些变化,这其实就是过渡,这么说来比较抽象,那么,下面就来介绍一下关于css3实现过渡的动画效果。 css3实现过渡是离不开transition属性的,transition是网页上的过渡动画,变化的逐渐过渡效果,简称过渡动…

    2025年12月24日
    000
  • css3如何设置边框颜色渐变?css3边框颜色渐变的两种实现方法

    很多时候在开发网页的时候,可能因为一些原因需要为边框设置颜色渐变,那么该如何设置颜色边框渐变?本篇文章将为大家介绍使用css3设置边框颜色渐变的方法。 我们设置边框颜色渐变时可以用到css3中的属性是border-image或者border-colorcss3边框颜色渐变,那么两个属性如何设置边框颜…

    2025年12月24日
    000
  • css3图片旋转如何实现?css3实现图片旋转动画效果的方法

    在网页中,我们经常可以看到一张图片在旋转,这样的图片旋转是怎么来实现的呢?本篇文章就来为你介绍一下关于css3实现图片旋转动画效果的方法。 实现css3中图片的旋转可以使用可以使用 -webkit-animation 和 @-webkit-keyframes 组合使用来完成。 -webkit-ani…

    好文分享 2025年12月24日
    000
  • CSS3中有哪些伪类选择器, 伪类选择器nth-child() 怎么使用

    css3中新的属性给我们带来了不少的便利,比如伪类选择器 nth-child(),但是它在ie6-8和ff3.0-浏览器不支持,css3中nth-of-type(n)(比如nth-of-type(1))这个特殊的类选择符可以设置更加个性的标题和段落等,不过,目前nth-of-type(n)只支持火狐…

    好文分享 2025年12月24日
    000
  • css3新特性有哪些?css3新特性的总结

    本篇文章给大家带来的内容是css3新特性有哪些?css3新特性的总结 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是CSS? 层叠样式表(CSS)是一种向Web文档添加样式(例如,字体,颜色,间距)的简单机制。 什么是CSS3? CSS3是CSS语言的最新发展,旨在扩展CS…

    2025年12月24日
    000
  • 深入理解CSS3中transition的使用方法

    可以让动画在css层面实现,此时不是利用setinterval(),不是定时器,而是底层c++在渲染,渲染动画的质量、丝滑程度都要远远优于js、jquery。 要颠覆我们传统制作网页动画的思维模式,现在的手机页面中,绝对不会有任何动画是setInterval()完成的,而都是过渡实现的。今后2~3年…

    好文分享 2025年12月24日
    000
  • 10个常用的CSS3知识分享

    随着时代的发展,前端知识也一直在更新,目的是让用户体验更好,工作效率变高。css3的出现,让我们可以通过简便的方式,做出更多炫酷的效果,工作中整理了10个常用的css3属性,欢迎参考。 1、文本效果 阴影:text-shadow:X偏移 Y偏移 模糊程度 阴影颜色; text-shadow: 5px…

    好文分享 2025年12月24日
    000
  • 如何使用css3实现魔方的动画效果(完整代码)

    本篇文章给大家带来的内容是关于如何使用css3实现魔方的动画效果(完整代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Document *{ margin: 0; padding: 0; } .box{ width: 300px; height: 300px; margin:…

    好文分享 2025年12月24日
    000
  • CSS3中​linear-gradient属性的使用方法总结

    本篇文章给大家带来的内容是关于css3中linear-gradient属性的使用方法总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 linear-gradient 是CSS3中一个重要的属性,初看觉得很简单,但是别看它简单,它能实现很多复杂的图形。 代码还是比较简单的: lin…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信