animation dont work on firefox - html

The first animation works in Firefox, but the last doesn't work. What could be the problem?
Is there something what I've missed?
http://jsfiddle.net/s6n4sc0s/
CSS:
#container {
width:300px;
height: 250px;
/*overflow:hidden;*/
}
#image{
display: block;
width: 300px;
height: 250px;
float:left;
position: relative;
}
h1{
color: #aaba38;
font-size: 26px;
font-weight: bold;
}
#title{
position: relative;
-webkit-animation: mailigen 20s infinite; /* Chrome, Safari, Opera */
animation: mailigen 20s infinite;
}
#slide{
float:left; position: relative; width:200px; text-align:right;
position: relative;
-webkit-animation: mymove 20s infinite; /* Chrome, Safari, Opera */
-moz-animation: mymove 20s infinite;
-o-animation: mymove 20s infinite;
animation: mymove 20s infinite;
}
#slide2{
position: relative;
-webkit-animation: mymove2 20s infinite; /* Chrome, Safari, Opera */
-moz-animation: mymove2 20s infinite;
-o-animation: mymove2 20s infinite;
animation: mymove2 20s infinite;
}
#slide3{
position: relative;
-webkit-animation: circle2 20s infinite; /* Chrome, Safari, Opera */
-moz-animation: circle2 20s infinite;
-o-animation: circle2 20s infinite;
animation: circle2 20s infinite;
}
#slide4{
position: relative;
-webkit-animation: circle3 20s infinite; /* Chrome, Safari, Opera */
-moz-animation: circle3 20s infinite;
-o-animation: circle3 20s infinite;
animation: circle3 20s infinite;
}
/* Chrome, Safari, Opera TITLE*/
#-webkit-keyframes mailigen {
0% {right: 0px;}
5% {right: 210px;}
10% {right: 210px;}
100% {right: 210px;}
}
/* Standard syntax */
#keyframes mailigen {
0% {right: 0px;}
5% {right: 210px;}
10% {right: 210px;}
100% {right: 210px;}
}
/* Chrome, Safari, Opera FOR SLIDE1*/
#-webkit-keyframes mymove {
0% {right: 0px;}
5% {right: 210px;}
10% {right: 210px;}
20% {right: 0px;}
100% {right: 0px;}
}
/* Standard syntax */
#keyframes mymove {
0% {right: 0px;}
5% {right: 210px;}
10% {right: 210px;}
20% {right: 0px;}
100% {right: 0px;}
}
/* Chrome, Safari, Opera FOR CIRCLE 1*/
#-webkit-keyframes mymove2 {
20% {right: 0px;}
25% {right: 260px;}
30% {right: 260px;}
40% {right: 0px;}
100% {right: 0px;}
}
#-moz-keyframes mymove2 {
20% {right: 0px;}
25% {right: 260px;}
30% {right: 260px;}
40% {right: 0px;}
100% {right: 0px;}
}
#-o-keyframes mymove2 {
20% {right: 0px;}
25% {right: 260px;}
30% {right: 260px;}
40% {right: 0px;}
100% {right: 0px;}
}
/* Standard syntax */
#keyframes mymove2 {
20% {right: 0px;}
25% {right: 260px;}
30% {right: 260px;}
40% {right: 0px;}
100% {right: 0px;}
}
/* Chrome, Safari, Opera FOR CIRCLE 2*/
#-webkit-keyframes circle2 {
40% {right: 0px;}
45% {right: 0px;}
50% {right: 260px;}
60% {right: 0px;}
100% {right: 0px;}
}
/* Standard syntax */
#keyframes circle2 {
40% {right: 0px;}
45% {right: 0px;}
50% {right: 260px;}
60% {right: 0px;}
100% {right: 0px;}
}
/* Chrome, Safari, Opera FOR CIRCLE 3*/
#-webkit-keyframes circle3 {
60% {right: 0px;}
65% {right: 0px;}
70% {right: 260px;}
80% {right: 0px;}
100% {right: 0px;}
}
/* Standard syntax */
#keyframes circle3 {
60% {right: 0px;}
65% {right: 0px;}
70% {right: 260px;}
80% {right: 0px;}
100% {right: 0px;}
}
.first, .second, .third{
float: left;
position: relative;
width: 200px;
left: 300px;
top: -260px;
text-align: right;
}
.second{padding-bottom:20px;}
/* CIRCLE ONE */
.circle {
position: absolute;
left: 320px;
top: 39px;
border-radius: 50%;
width: 180px;
height: 180px;
background-color: #bec751;
opacity: 0.8;
border: 5px solid #ffffff;
/* width and height can be anything, as long as they're equal */
}
.circle span {
color: #ffffff;
font-family: Arial;
font-size: 23px;
left: 40px;
position: relative;
font-weight: bold;
text-transform: uppercase;
top: 37px;
text-align: center ;
}
/* CIRCLE TWO */
.circle2 {
position: absolute;
left: 320px;
top: 39px;
border-radius: 50%;
width: 180px;
height: 180px;
background-color: #843881;
opacity: 0.8;
border: 5px solid #ffffff;
/* width and height can be anything, as long as they're equal */
}
.circle2 span {
color: #ffffff;
font-family: Arial;
font-size: 23px;
left: 40px;
position: relative;
font-weight: bold;
text-transform: uppercase;
top: 37px;
text-align: center ;
}
/* CIRCLE THREE */
.circle3 {
position: absolute;
left: 320px;
top: 39px;
border-radius: 50%;
width: 180px;
height: 180px;
background-color: #146671;
opacity: 0.8;
border: 5px solid #ffffff;
/* width and height can be anything, as long as they're equal */
}
.circle3 span {
color: #ffffff;
font-family: Arial;
font-size: 23px;
left: 40px;
position: relative;
font-weight: bold;
text-transform: uppercase;
top: 37px;
text-align: center ;
}

So the correct answer is, that its needed to put 0% and 100% for other browsers that chrome
#-moz-keyframes circle2 {
0% {right: 0px;}
40% {right: 0px;}
45% {right: 0px;}
50% {right: 260px;}
60% {right: 0px;}
100% {right: 0px;}
}

You don't have a #-moz-keyframes set for the circle animations. Add
#-moz-keyframes circle2 {
40% {right: 0px;}
45% {right: 0px;}
50% {right: 260px;}
60% {right: 0px;}
100% {right: 0px;}
}
To the end of your CSS for each animation. See this answer for further information
Why isn't -moz-animation working?

Related

Math with my keyframe multiple animation not working using CSS only

I've spent the past little while reading up on #keyframes and animation CSS (because honestly my coding skills were stuck mid naughties!) and while I understand how it works in theory my maths isn't working.
What I want is three items to fade in and out over 15 seconds so on an infinite loop.
Item 1 - opacity: 0 at 0% and opacity 1 at 33% then back to opacity 0 for the next 10 seconds (66% and 100%)
Item 2 - opacity: 0 at 0% and 33% before fading in to opacity 1 by 66% and then back out
Item 3 - opacity 0 for the first ten seconds and then fade in to opacity 1 by 99%/100%
The CSS that I have at the moment is
.testimonial-slider {
display: block;
width: 50%;
height: auto;
margin-top: 100px;
}
.testimonial-slider ul.slider {
display: block;
list-style: none;
padding: 0;
position: relative;
display: inline-block;
width: 100%;
height: 500px;
overflow: hidden;
margin: 0 auto;
}
.testimonial-slider ul.slider li {
position: absolute;
display: block;
width: 100%;
opacity: 0;
margin: 0 auto;
}
.testimonial-slider ul.slider li:nth-child(1) {
-webkit-animation: fade-animation-1 15s infinite;
animation: fade-animation-1 15s infinite;
}
.testimonial-slider ul.slider li:nth-child(2) {
-webkit-animation: fade-animation-2 15s infinite;
animation: fade-animation-2 15s infinite;
}
.testimonial-slider ul.slider li:nth-child(3) {
-webkit-animation: fade-animation-3 15s infinite;
animation: fade-animation-3 15s infinite;
.testimonial-slider q {
display: inline-block;
font: normal 30px Helvetica, Arial, Verdana, sans-serif;
letter-spacing: .5pt;
text-shadow: 0 5px 10px rgba(0,0,0,.1);
}
.testimonial-slider .source {
margin-top: 25px;
color: #fff;
font: italic 20px Helvetica, Arial, Verdana, sans-serif;
}
/* KEYFRAME DECLARATIONS */
#keyframes fade-animation 1 {
0% {opacity:0;}
33% {opacity:1;}
65% {opacity:0;}
100% {opacity:0;}
}
#keyframes fade-animation 2 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:1}
100% {opacity:0}
#keyframes fade-animation 3 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:0}
99% {opacity:1}
100% {opacity:0}
#-webkit-keyframes fade-animation-1 {
0% {opacity:0;}
33% {opacity:1;}
65% {opacity:0;}
100% {opacity:0;}
}
#-webkit-keyframes fade-animation-2 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:1}
100% {opacity:0}
#-webkit-keyframes fade-animation 3 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:0}
99% {opacity:1}
100% {opacity:0}
and the corresponding HTML
<div class="testimonial-slider" style="padding:5px;">
<ul class="slider">
<li>
<div class="testimonial-slider-content"> <q>Such a great testimonial goes here!!! Yay!!!.</q>
<p class="source">- Chair</p>
</div>
</li>
<li>
<div class="testimonial-slider-content"> <q>Testimonial 2 content oh yay great testimonial</q>
<p class="source">- Head of Investor Relations</p>
</div>
</li>
<li>
<div class="testimonial-slider-content"> <q>Testimonial content here
</q>
<p class="source">- CEO/Founder</p>
</div>
</li>
</ul>
</div>
So, your code is working fine. The only problem is that you don't have some curly brackets closed.
.testimonial-slider {
display: block;
width: 50%;
height: auto;
margin-top: 100px;
}
.testimonial-slider ul.slider {
display: block;
list-style: none;
padding: 0;
position: relative;
display: inline-block;
width: 100%;
height: 500px;
overflow: hidden;
margin: 0 auto;
}
.testimonial-slider ul.slider li {
position: absolute;
display: block;
width: 100%;
opacity: 0;
margin: 0 auto;
}
.testimonial-slider ul.slider li:nth-child(1){
-webkit-animation: fade-animation-1 15s infinite;
animation: fade-animation-1 15s infinite;
}
.testimonial-slider ul.slider li:nth-child(2) {
-webkit-animation: fade-animation-2 15s infinite;
animation: fade-animation-2 15s infinite;
}
.testimonial-slider ul.slider li:nth-child(3) {
-webkit-animation: fade-animation-3 15s infinite;
animation: fade-animation-3 15s infinite;
}
.testimonial-slider q {
display: inline-block;
font: normal 30px Helvetica, Arial, Verdana, sans-serif;
letter-spacing: .5pt;
text-shadow: 0 5px 10px rgba(0,0,0,.1);
}
.testimonial-slider .source {
margin-top: 25px;
color: #fff;
font: italic 20px Helvetica, Arial, Verdana, sans-serif;
}
/* KEYFRAME DECLARATIONS */
#keyframes fade-animation-1 {
0% {opacity:0;}
33% {opacity:1;}
65% {opacity:0;}
100% {opacity:0;}
}
#keyframes fade-animation-2 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:1}
100% {opacity:0}
}
#keyframes fade-animation-3 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:0}
99% {opacity:1}
100% {opacity:0}
}
#-webkit-keyframes fade-animation-1 {
0% {opacity:0;}
33% {opacity:1;}
65% {opacity:0;}
100% {opacity:0;}
}
#-webkit-keyframes fade-animation-2 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:1}
100% {opacity:0}
}
#-webkit-keyframes fade-animation-3 {
0% {opacity:0}
33% {opacity:0}
66% {opacity:0}
99% {opacity:1}
100% {opacity:0}
}
<div class="testimonial-slider" style="padding:5px;">
<ul class="slider">
<li>
<div class="testimonial-slider-content"> <q>Such a great testimonial goes here!!! Yay!!!.</q>
<p class="source">- Chair</p>
</div>
</li>
<li>
<div class="testimonial-slider-content"> <q>Testimonial 2 content oh yay great testimonial</q>
<p class="source">- Head of Investor Relations</p>
</div>
</li>
<li>
<div class="testimonial-slider-content"> <q>Testimonial content here
</q>
<p class="source">- CEO/Founder</p>
</div>
</li>
</ul>
</div>
Regards

CSS 3 Animation works weird and doesn't work for Chrome

I'm trying to create an animation with CSS3 animations.
Basically when I load page, I would like the h1 gone from down to up and intro paragraph slides from right to left
Order:
1) Paragraph slides from right to left-center page;
2) Then the title (hello) slide from up to down.
p.intro {
-webkit-animation: dadestra 4s;
-moz-animation: dadestra 4s;
-ms-animation: dadestra 4s;
-o-animation: dadestra 4s;
animation: dadestra 4s;
animation-name: dadestra;
animation-duration: 3s;
position:relative;
animation-delay:-1s;
}
#keyframes dadestra {
0% { left: 100%;}
100%{ left: 0%;}
}
#-moz-keyframes dadestra {
0% { left: 100%;}
100%{ left: 0%;}
}
#-webkit-keyframes dadestra {
0% { left: 100%;}
100%{ left: 0%;}
}
#-o-keyframes dadestra {
0% { left: 100%;}
100%{ left: 0%;}
}
#-ms-keyframes dadestra {
0% { left: 100%;}
100%{ left: 0%;}
}
/* Welcome */
h1 {
color:#fff;
text-align: center;
background:#111112;
text-shadow: 1px 1px 1px red;
border-radius: 10px 10px 10px;
box-shadow: 0px 1px 7px 1px red;
position:relative;
-webkit-animation: hello;
animation-name: hello;
animation-duration: 4s;
-webkit-animation-duration: 4s;
-moz-animation-duration: 4s;
-ms-animation-duration: 4s;
-o-animation-duration: 4s;
z-index:1;
}
#keyframes hello {
0% { top:60%; left: 0%; }
75% {top: 30%; left: 0%; }
100% { top:0%; left: 0%; }
}
#-moz-keyframes hello {
0% { top:60%; left: 0%; }
75% {top: 30%; left: 0%; }
100% { top:0%; left: 0%; }
}
#-webkit-keyframes hello {
0% { top:60%; left: 0%; }
75% {top: 30%; left: 0%; }
100% { top:0%; left: 0%; }
}
#-ms-keyframes hello {
0% { top:60%; left: 0%; }
75% {top: 30%; left: 0%; }
100% { top:0%; left: 0%; }
}
#-o-keyframes hello {
0% { top:60%; left: 0%; }
75% {top: 30%; left: 0%; }
100% { top:0%; left: 0%; }
}
<html>
<body>
<h1>Welcome guest!</h1>
<p class="intro">bla bla bla bla</p>
<p class="intro">bla bla bla</p>
</body>
</html>
I tried this code, dadestra it's the animation for the paragraph from right to left-center page.
Paragraph it's ok, it works properly.
Issue with h1 animation: 2 problems:
it blinks in Firefox, looks that it works very weird;
In Chrome it doesn't appear, doesn't run.
I'm new to animations, I always avoid from flash ecc, but I have to do for university project, so be careful and if you know what's problem, tell me, Thanks advance!
You should use transform: translate(). It will work better in this situation
body {
overflow: hidden;
}
h2 {
color:#fff;
text-align: center;
background:#111112;
text-shadow: 1px 1px 1px red;
border-radius: 10px 10px 10px;
box-shadow: 0px 1px 7px 1px red;
position:relative;
animation: top 1s 1s;
animation-fill-mode: forwards;
transform: translateY(-100px);
}
#keyframes top {
0% {
transform: translateY(-100px);
}
100% {
transform: translateY(0px);
}
}
p {
animation: left 1s;
}
#keyframes left {
0% {
transform: translateX(100vw);
}
100% {
transform: translateX(0vw);
}
}
<h2>Hello</h2>
<p>Paragraph is here</p>

Keyframe animation not working properly on IE11

This is how it is being rendered in other browsers
This is how it is being renderd on IE11
I have used the following keyframing animation
.support_team_bubble{
height: 15px;
width: 15px;
position: absolute;
top: 33%;
left: 52.5%;
border-radius: 50%;
background: red;
-webkit-animation: bubbleMoveSupport 3.5s infinite;
-moz-animation: bubbleMoveSupport 3.5s infinite;
-o-animation: bubbleMoveSupport 3.5s infinite;
animation: bubbleMoveSupport 3.5s infinite;
-ms-animation: bubbleMoveSupport 3.5s infinite;
}
#-webkit-keyframes bubbleMoveSupport{
0% {left: 52.5%;}
50% {left: 60.2%;}
60% {left: 60.2%;}
60% {top: 33%;}
80% {top: 25.9%;}
90% {left: 60.2%;}
90% {top: 25.9%;}
100% {left: 65.5%;}
100% {top: 25.9%;}
}
#keyframes bubbleMoveSupport{
0% {left: 52.5%;}
50% {left: 60.2%;}
60% {left: 60.2%;}
60% {top: 33%;}
80% {top: 25.9%;}
90% {left: 60.2%;}
90% {top: 25.9%;}
100% {left: 65.5%;}
100% {top: 25.9%;}
}
<div class="support_team_bubble"></div>
Note: the above code is for top right (first chat bubble).
Is there something I need to take care of and I am missing in case on Internet explorer ?
It may be due to the multiple declarations of percentage keyframe points. Try combining your properties for duplicate keyframe points, like so:
.support_team_bubble {
height: 15px;
width: 15px;
position: absolute;
top: 33%;
left: 52.5%;
border-radius: 50%;
background: red;
-webkit-animation: bubbleMoveSupport 3.5s infinite;
-moz-animation: bubbleMoveSupport 3.5s infinite;
-o-animation: bubbleMoveSupport 3.5s infinite;
animation: bubbleMoveSupport 3.5s infinite;
-ms-animation: bubbleMoveSupport 3.5s infinite;
}
#-webkit-keyframes bubbleMoveSupport{
0% {left: 52.5%;}
50% {left: 60.2%;}
60% {left: 60.2%; top: 33%;}
80% {top: 25.9%;}
90% {left: 60.2%; top: 25.9%;}
100% {left: 65.5%; top: 25.9%;}
}
#keyframes bubbleMoveSupport{
0% {left: 52.5%;}
50% {left: 60.2%;}
60% {left: 60.2%; top: 33%;}
80% {top: 25.9%;}
90% {left: 60.2%; top: 25.9%;}
100% {left: 65.5%; top: 25.9%;}
}
<div class="support_team_bubble"></div>

Add slide image with css

How to add 1 more image and animation for this slider. please help me to change value property #-moz-keyframes{} or #-webkit-keyframes{}. thanks.
there my slider https://jsfiddle.net/JonoRecher/zt3d2duj/
/* MY CSS*/
#wrapper4 {
border-top: 7px solid #bdbdbd;
border-bottom: 7px solid #bdbdbd;
padding-top: 40px;
padding-bottom: 40px;
background-image: url(http://subtlepatterns2015.subtlepatterns.netdna-cdn.com/patterns/congruent_outline.png);
}
#slider4 {
background: #000;
border: 5px solid #eaeaea;
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7);
height: 320px;
width: 680px;
margin: 0 auto 0;
overflow: visible;
position: relative;
}
#mask {
overflow: hidden;
height: 320px;
}
#slider4 ul {
margin: 0;
padding: 0;
position: relative;
}
#slider4 li {
width: 640px;
height: 320px;
position: absolute;
top: -325px;
list-style: none;
}
#slider4 li.animation1 {
animation: cycle 25s linear infinite;
}
#slider4 li.animation2 {
animation: cycle2 25s linear infinite;
}
#slider4 li.animation3 {
animation: cycle3 25s linear infinite;
}
#slider4 li.animation4 {
animation: cycle4 25s linear infinite;
}
#slider4 li.animation5 {
animation: cycle5 25s linear infinite;
}
#keyframes cycle {
0% {top: 0px;}
4% {top: 0px;}
16% {top: 0px;opacity: 1;z-index: 0;}
20% {top: 325px;opacity: 0;z-index: 0;}
21% {top: -325px;opacity: 0;z-index: -1;}
92% {top: -325px;opacity: 0;z-index: 0;}
96% { top: -325px;opacity: 0;}
100% {top: 0px;opacity: 1;}
}
#keyframes cycle2 {
0% {top: -325px;opacity: 0;}
16% {top: -325px;opacity: 0;}
20% {top: 0px;opacity: 1;}
24% {top: 0px; opacity: 1;}
36% {top: 0px; opacity: 1;z-index: 0;}
40% {top: 325px;opacity: 0;z-index: 0;}
41% {top: -325px;opacity: 0;z-index: -1;}
100% {top: -325px;opacity: 0;z-index: -1;}
}
#keyframes cycle3 {
0% {top: -325px;opacity: 0;}
36% {top: -325px;opacity: 0;}
40% {top: 0px;opacity: 1;}
44% {top: 0px;opacity: 1;}
56% {top: 0px;opacity: 1;}
60% {top: 325px; opacity: 0;z-index: 0;}
61% {top: -325px;opacity: 0;z-index: -1;}
100% {top: -325px;opacity: 0; z-index: -1;}
}
#keyframes cycle4 {
0% {top: -325px;opacity: 0;}
56% {top: -325px;opacity: 0;}
60% {top: 0px;opacity: 1;}
64% {top: 0px;opacity: 1;}
76% {top: 0px;opacity: 1;z-index: 0;}
80% {top: 325px;opacity: 0;z-index: 0;}
81% {top: -325px;opacity: 0;z-index: -1;}
100% {top: -325px;opacity: 0;z-index: -1;}
}
#keyframes cycle5 {
0% {top: -325px;opacity: 0;}
76% {top: -325px;opacity: 0;}
80% {top: 0px;opacity: 1;}
84% {top: 0px;opacity: 1;}
96% {top: 0px;opacity: 1;z-index: 0;}
100% {top: 325px;opacity: 0;z-index: 0;}
}
.progress-bar {
position: relative;
top: -5px;
width: 680px;
height: 5px;
background: #000;
animation: fullexpand 25s ease-out infinite;
}
#keyframes fullexpand {
0%, 20%, 40%, 60%, 80%, 100% {width: 0%;opacity: 0;}
4%,24%,44%,64%,84% {width: 0%;opacity: 0.3;}
16%,36%,56%,76%,96% {width: 100%;opacity: 0.7;}
17%,77%,97% {width: 100%;opacity: 0.3;}
18%,38%,58%,78%,{opacity: 0;}
}
#slider4 .tooltip {
background: rgba(0, 0, 0, 0.7);
width: 300px;
height: 60px;
position: relative;
bottom: 75px;
left: -320px;
transition: all 0.3s ease-in-out;
}
#slider4 .tooltip h1 {
color: #fff;
font-size: 24px;
font-weight: 300;
line-height: 60px;
padding: 0 0 0 10px;
}
#slider4 li#list1:hover .tooltip,
#slider4 li#list2:hover .tooltip,
#slider4 li#list3:hover .tooltip,
#slider4 li#list4:hover .tooltip,
#slider4 li#list5:hover .tooltip {
left: 0px;
}
#slider4:hover li,
#slider4:hover .progress-bar {
animation-play-state: paused;
}
<div id="wrapper4">
<div id="content-slider">
<div id="slider4">
<div id="mask">
<ul>
<li id="list1" class="animation1">
<img src="http://js.seocn.info/up_pic/js/201312/1533/images/img_1.jpg" alt="Couqar">
<div class="tooltip">
<h1>Couqar</h1>
</div>
</li>
<li id="list2" class="animation2">
<img src="http://js.seocn.info/up_pic/js/201312/1533/images/img_2.jpg" alt="Lions">
<div class="tooltip">
<h1>Lions</h1>
</div>
</li>
<li id="list3" class="animation3">
<img src="http://js.seocn.info/up_pic/js/201312/1533/images/img_3.jpg" alt="Snowalker">
<div class="tooltip">
<h1>Snowalker</h1>
</div>
</li>
<li id="list4" class="animation4">
<img src="http://js.seocn.info/up_pic/js/201312/1533/images/img_4.jpg" alt="Howling">
<div class="tooltip">
<h1>Howling</h1>
</div>
</li>
<li id="list5" class="animation5">
<img src="http://js.seocn.info/up_pic/js/201312/1533/images/img_5.jpg" alt="Sunbathing">
<div class="tooltip">
<h1>Sunbathing</h1>
</div>
</li>
</ul>
</div>
<div class="progress-bar"></div>
</div>
</div>
</div>
1. Update your html
Firstly, add a sixth li tag for your new image after the last li tag in your html as follows:
<!-- Provide a new value for 'id' and 'class' attributes and set the values as shown below -->
<li id="list6" class="animation6">
<!--
1. Add the path to your new image in the 'src' attribute of the `img` tag below.
2. Describe your new image in the 'alt' attribute of the `img` tag below.
3. Update the text in the `h1` tag below as required.
-->
<img src="/the/path/to/new/image" alt="Description goes here">
<div class="tooltip">
<h1>some new text goes here</h1>
</div>
</li>
2. Update your CSS
All of the animation keyframes should be updated to handle the 6th image.
Full example:
The complete revised code can be found here here.
NOTE: You just need to add the path to your new image in the img tags 'src' attribute (line 44 of the html):

Why is my CSS animation on the image not working?

This is the CSS code I'm using:
img {
position: relative;
-webkit-animation: movingImage infinite linear 2s infinite;
animation: movingImage infinite linear 2s infinite;
}
#-webkit-keyframes movingImage {
0% {left: 0px; top: 0px;}
25% {left: 200px; top: 0px;}
50% {left: 200px; top: 200px;}
75% {left: 0px; top: 200px;}
100% {left: 0px; top: 0px;}
}
#keyframes movingImage {
0% {left: 0px; top: 0px;}
25% {left: 200px; top: 0px;}
50% {left: 200px; top: 200px;}
75% {left: 0px; top: 200px;}
100% {left: 0px; top: 0px;}
}
And the HTML that I have:
<img src="image.png" width="50" height="50" alt="Image">
The correct animation full syntax is:
#keyframes name | duration | timing-function | delay |
iteration-count | direction | fill-mode | play-state
In your example:
animation: movingImage infinite linear 2s infinite;
The last infinite is not a valid value anymore, as you already declared it earlier.
The correct full syntax is:
animation: movingImage 2s linear 0s infinite normal none running;
Or the shorten version:
animation: movingImage 2s linear infinite;
JsFiddle Demo
img {
position: relative;
-webkit-animation: movingImage 2s linear infinite;
animation: movingImage 2s linear infinite;
}
#-webkit-keyframes movingImage {
0% {left: 0px; top: 0px;}
25% {left: 200px; top: 0px;}
50% {left: 200px; top: 200px;}
75% {left: 0px; top: 200px;}
100% {left: 0px; top: 0px;}
}
#keyframes movingImage {
0% {left: 0px; top: 0px;}
25% {left: 200px; top: 0px;}
50% {left: 200px; top: 200px;}
75% {left: 0px; top: 200px;}
100% {left: 0px; top: 0px;}
}
<img src="image.png" width="50" height="50" alt="Image">