JSFiddle - React, Tailwind, and code Playground
by Rafa Ola
HTML
<script src="https://fonts.googleapis.com/css?family=Cabin+Sketch|Londrina+Sketch"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenLite.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/latest/plugins/CSSPlugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js"></script>
<ul class='tenk-container'>
<li class='tenk' id='bubbleone'> 1</li>
<li class='tenk' id='bubzie'> 0</li>
<li class='tenk' id='bubbleone'> 0</li>
<li class='tenk' id='bubzie'> 0</li>
<li class='tenk' id='bubbleone'> 0</li>
<li class='tenk' id='bubzie'> 0</li></ul>
<ul class='tenk-container'>
<li class='tenk' id='bubbly'> 1</li>
<li class='tenk' id='bubbie'> 0</li>
<li class='tenk' id='bubbleone'> 0</li>
<li class='tenk' id='bubbx'> 0</li>
<li class='tenk' id='bubbleone'> 0</li>
<li class='tenk' id='bubbie'> 0</li>
</ul>
CSS
.tenk-container{
display:flex;
flex-direction: row;
list-style: none;
-ms-box-orient: horizontal;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
padding: 0;
margin: 0;
}
.tenk{
border-radius: 20px 20px;
background-color: #fff;
padding: 5px;
width:90px;
height: 90px;
margin: 10px;
line-height: 100px;
color: #2E3945;
font-weight: bold;
font-size: 2em;
text-align: center;
font-family: 'Cabin Sketch', cursive;
}
.nowrap {
-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;
}
#bubbleone{
transform:rotate(10deg);
}
#bubbly{
position :relative;
-webkit-animation: bubbling 1s infinite; /* Safari 4.0 - 8.0 */
animation: bubbling 1s infinite;
transform:rotate(-10deg);
}
#bubz {
-webkit-animation: easemove 2s infinite; /* Safari 4.0 - 8.0 */
-webkit-animation-timing-function: ease-in-out; /* Safari 4.0 - 8.0 */
animation: easemove 2s infinite;
animation-timing-function: ease-in-out;
position:relative;
}
#bubzie{
}
#bubbie{
}
#bubbx{
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes bubbling {
0% {right: 0px;}
25% {right: 2px;}
75% {left: 4px}
100% {left: 8px;}
}
/* Standard syntax */
@keyframes bubbling {
0% {right: 0px;}
25% {right: 2px;}
75% {left: 4px}
100% {left: 8px;}
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes easemove {
from {left: 0px;}
to {left: 5px;}
from {right: 0px;}
to {right: 5px;}
}
@keyframes easemove {
from {left: 0px;}
to {left: 5px;}
}
JavaScript
//TweenLite.fromTo(bubzie, 3 ,{transform:'translate(20px, 10px)'},{transform:'translate(0px, 0px)',color:"red"});
TweenMax.to("#bubzie", 2, { bezier:[{rotation:-10},{rotation:8},{rotation:-5},{rotation:3},{rotation:0}], ease:Bounce.easeInOut}, "+=0.3");
TweenMax.to("#bubbie", 2, {top: '15%', y: '-10%', ease:Bounce.easeOut, delay: 0.1});
var bub = document.getElementById("bubbx");
var tl = new TimelineMax();
tl.to(bub, 1, {alpha:0, repeatDelay:1, repeat:-1, yoyo:true})
tl.play();