<section>
<button class="nav-link">
<span class="icono-plus nav-icon"></span>
<ul class="nav-list">
<li class="nav-list-item"><span class="icono-facebook">Facebook</span></li>
<li class="nav-list-item"><span class="icono-instagram"></span></li>
<li class="nav-list-item">
<span class="icono-twitter"></span>
</li>
</ul>
</button>
</section>
*, body {
margin:0;
padding: 0;
box-sizing: border-box;
background-color: black;
text-align: center;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
color: #fff;
}
body {
display:flex;
justfify-contetn: center;
align-items: center;
height: 100vh;
}
section {
margin: auto;
position: relative;
}
.nav-list {
list-style:none;
text-align: center;
display: none;
margin-left: auto;
margin-right: auto;
position: absolute;
top: 16px;
left: 0px;
right: 0;
background: transparent;
&-item{
width: 42px;
height: 42px;
margin: auto;
background-color: #2936cd;
color: white;
margin-bottom: 8px;
border-radius: 100%;
display: flex;
align-items: center;
justify-content: center;
&:hover {
background-color: #051196;
}
> span {
transform: scale(0.8);
background-color: transparent; //only for icon render issue fix
}
&:nth-child(1) {
transform: translateY(36px);
animation: icon1 0.5s;
}
&:nth-child(2) {
transform: translateY(40px);
animation: icon2 0.5s;
}
&:nth-child(3) {
transform: translateY(44px);
animation: icon3 0.5s;
}
}
}
.nav-link {
font-size: 18px;
width: 42px;
height: 42px;
border-radius: 100%;
border: none;
background-color: #2936cd;
color: #fff;
z-index: 2;
transition: ease 0.3s;
cursor: pointer;
> .nav-icon {
transition: ease 0.3s;
transform: scale(1) rotate(0);
}
&:hover {
transition: ease 0.3s;
> .nav-icon {
transition: ease 0.3s;
transform: scale(0.9) rotate(45deg);
}
& .nav-list {
display: block;
}
}
.icono-plus {
font-size: 16px;
text-align: center;
}
}
.nav-icon {
background:transparent;
}
@keyframes icon1 {
0% {
opacity: 0;
transform: translateY(0);
}
100% {
opacity: 1;
transform: translateY(36px);
}
}
@keyframes icon2 {
0% {
opacity: 0;
transform: translateY(0px);
}
30% {
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(40px);
}
}
@keyframes icon3 {
0% {
opacity: 0;
transform: translateY(0px);
}
20% {
opacity: 0;
transform: translateY(10px);
}
40% {
opacity: 0;
transform: translateY(30px);
}
100% {
opacity: 1;
transform: translateY(44px);
}
}
View Compiled
This Pen doesn't use any external JavaScript resources.