CSS Properties: How to specify the duration of an animation takes to complete?

Go to Exercise page


HTML Code:

<!DOCTYPE html>
<meta charset="utf-8" />
<title>How to specify the duration of an animation takes to complete</title>
<div class="animation">
<div class="w3r">
w3resource Tutorial
<style type="text/css">
.w3r {
color: white;
float: left;
margin-right: 2%;
font-size: 20px
.animation {
background-color: #CC3333;
height: 50px;
width: 100%;
overflow: hidden;
div {
width: 100px;
height: 100px;
background: #33FFFF;
position: relative;
-webkit-animation: move 5s infinite; /* Chrome, Safari, Opera */
-webkit-animation-delay: 5s; /* Chrome, Safari, Opera */
animation: move 5s infinite;
animation-duration: alternate, reverse, normal;
/* Chrome, Safari, Opera */
@-webkit-keyframes mymove {
    from {top: 0px;}
    to {top: 200px;}
@keyframes mymove {
    from {top: 0px;}
    to {top: 200px;}

Live Demo:

See the Pen animation-duration-answer by w3resource (@w3resource) on CodePen.

See the solution in the browser

Supported browser

Firefox logo Chrome logo Opera logo Safari logo Internet Explorer logo
Yes Yes Yes Yes No

Go to Exercise page

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.

HTML-CSS: Tips of the Day

How do I create a teardrop in HTML?

SVG approach:

You can achieve the double curve easily with an inline SVG and the <path/> element instead of the <polygon/> element which doesn't allow curved shapes.

The following example uses the element with:

  • 2 quadratic bezier curve commands for the 2 top curves (lines beginning with Q)
  • 1 arc command for the big bottom one (line beginning with A)
<svg width="30%" viewbox="0 0 30 42">
  <path fill="transparent" stroke="#000" stroke-width="1.5"
        d="M15 3
           Q16.5 6.8 25 18
           A12.8 12.8 0 1 1 5 18
           Q13.5 6.8 15 3z" />

Ref: https://bit.ly/39jauIc


We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook