JSFiddle - React, Tailwind, and code Playground
by Teuta Koraqi
HTML
<ul data-reactid="203"><li data-reactid="204" class="visible"><img src="//doppler-preorders.s3.amazonaws.com/assets/images/city-museum.png" data-reactid="205"><div class="pulse" data-reactid="206"></div><span class="number" data-reactid="207">1</span><p data-reactid="208">Layer rich content to enhance a museum exhibit or sporting event.</p></li></ul>
CSS
li {
position: absolute;
top: 24%;
left: 6%;
}
li:before {
-webkit-transition: all 0.25s;
-moz-transition: all 0.25s;
-o-transition: all 0.25s;
opacity: 0;
height: 14px;
width: 14px;
position: absolute;
background: #f14700;
border-radius: 50%;
color: #f14700;
content: '';
display: flex;
align-items: center;
justify-content: center;
top: 3px;
left: 3px;
border: 1px solid transparent;
}
li.visible {
opacity: 1;
}
li img {
-webkit-transition: all 0.15s;
-moz-transition: all 0.15s;
-o-transition: all 0.15s;
display: block;
width: 160px;
height: 160px;
z-index: 6;
left: -80px;
top: -70px;
opacity: 0;
transform: scale(0.5);
position: absolute;
}
li .pulse {
width: 100px;
height: 100px;
background: rgba(241, 71, 0, 0.3);
border: 1px solid rgba(241, 71, 0, 0.4);
border-radius: 50%;
margin-left: 50%;
left: -40px;
position: absolute;
bottom: -60px;
transform: scale(0.1, 0.1);
opacity: 0;
display: none;
animation: ring-1 3000ms ease-out infinite;
}
@keyframes ring-1 {
0% {
transform: scale(0.1, 0.1);
opacity: 0
}
50% {
opacity: 1
}
100% {
transform: scale(1.2, 1.2);
opacity: 0
}
}
li.visible .pulse {
display: block;
}
li.number {
font-family: 'textaheavy';
font-weight: normal;
font-style: normal;
height: 26px;
width: 26px;
position: absolute;
background: white;
border-radius: 50%;
color: #f14700;
display: flex;
align-items: center;
justify-content: center;
top: 0;
left: 0;
}