CSS toggle button is created for a social share button and off-canvas menu. Whereby we can show and hide the navbar menus, share buttons, and some links by clicking the toggle button.
HTML
<div class="social-icons">
<!-- Toggle Button -->
<input type="checkbox" id="check">
<label for="check">
<div id="button"><i class="fas fa-share"></i></div>
</label>
<!-- Social icons list -->
<div class="icon-list">
<ul>
<li><a href="#"><i class="fab fa-facebook-f"></i></a></li>
<li><a href="#"><i class="fab fa-twitter"></i></a></li>
<li><a href="#"><i class="fab fa-instagram"></i></a></li>
<li><a href="#"><i class="fab fa-linkedin-in"></i></a></li>
<li><a href="#"><i class="fab fa-youtube"></i></a></li>
<li><a href="#"><i class="fab fa-pinterest-square"></i></a></li>
</ul>
</div>
</div>
CSS
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
.social-icons,label{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#check:checked ~ label{
left: 90%;
transform: translateY(-50%);
}
.social-icons label{
z-index: 1;
transition: .35s ease-in;
}
#check{
display: none;
}
.social-icons label #button {
display: flex;
height: 54px;
width: 60px;
background: #4CAF50;
border-radius: 5px;
cursor: pointer;
}
label #button i{
margin: auto;
font-size: 35px;
color: #f5f5f5;
transform: rotateZ(0turn);
transition: transform .2s linear
}
#check:checked ~ label #button i{
transform: rotateZ(0.5turn);
}
#check:checked ~ label #button i:before{
content: '\f00d';
}
.social-icons .icon-list {
padding-right: 45px;
transform: scaleX(0);
border: 2px solid #4caf50;
border-radius: 10px;
}
#check:checked ~ .icon-list{
transform: scaleX(1);
}
.icon-list ul {
list-style: none;
display: flex;
padding: 12px 10px;
}
.icon-list ul li a {
color: #5f5f5f;
font-size: 22px;
margin: 0 10px;
transition: 0.4s;
}
.icon-list ul li a:hover {
color: #4caf50;
}