JSFiddle - React, Tailwind, and code Playground
HTML
<h1>CSS - Icône de téléchargement animée</h1>
<p style="text-align: center;">
<a href="#" class="download-icon">
<span></span>Télécharger</a>
</p>
<hr>
<p><a href="#">Retourner au tutoriel</a></p>
CSS
span
{ box-sizing: border-box; }
body{
font-family: 'Ubuntu', sans-serif;
color:#444;
font-size:1.6em;
background:#ececec;
}
a
{
text-decoration: none;
}
a.download-icon
{
color: #333;
font-size: 1.3rem;
font-weight: bold;
text-decoration: none;
}
.download-icon span
{
display: block;
cursor: pointer;
position: relative;
width: 60px;
height: 30px;
margin: auto;
border: 10px solid #333;
border-top: transparent;
}
.download-icon span:before,
.download-icon span:after
{
content: '';
display: block;
position: absolute;
}
a.download-icon:hover span:before,
a.download-icon:hover span:after
{
animation: bounce .5s infinite alternate;
-webkit-animation: bounce .5s infinite alternate;
}
a.download-icon:hover span:before{
left: 15px;
top: -9px;
width: 10px;
height: 10px;
background: #333;
}
a.download-icon:hover span:after
{
left: 10px;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid #333;
}
@keyframes bounce {
from {
transform: translateY(-10px);
}
to {
transform: translateY(0);
}
}
@-webkit-keyframes bounce {
from {
-webkit-transform: translateY(-10px);
}
to {
-webkit-transform: translateY(0);
}
}