Filter Icon
ICO Drops filter icon animation
by mromanbanks
HTML
<div class="button" onclick="myFunction()">
<p class="name">Filter</p>
<div class="glyph">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div>
</div>
<script>
function myFunction() {
var x = document.getElementsByClassName("glyph");
var y = document.getElementsByClassName("name");
var t = y[0].innerText;
x[0].classList.toggle("change");
if (t == "Filter") {
y[0].innerText = "Hide";
} else {
y[0].innerText = "Filter";
}
}
</script>
CSS
@import url('https://fonts.googleapis.com/css?family=Roboto:500');
html {
font-family: 'Roboto', sans-serif;
color: #292929;
-webkit-user-select: none;
user-select: none;
}
.button {
display: inline-block;
width: 78px;
height: 24px;
position: relative;
cursor: pointer;
background: #EBEBEB;
box-shadow: 0 1px 0 0 rgba(0,0,0,0.08), 0 0 0 1px #EBEBEB;
border-radius: 4px;
}
.name {
display: inline-block;
top: -15px;
font-size: 15px;
line-height: 24px;
letter-spacing: -0.1px;
margin-left: 10px;
position: relative;
}
.glyph {
display: inline-block;
cursor: pointer;
position: relative;
/* top: -2px; */
margin: 6px 10px 0 0;
float: right;
}
.bar1, .bar2, .bar3 {
height: 2px;
background-color: #292929;
margin: 1px 0;
transition: 0.2s;
border-radius: 1px;
/* For Smooth Animation */
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
}
.bar1 {
width: 16px;
}
.bar2 {
width: 12px;
margin-left: 2px;
}
.bar3 {
width: 8px;
margin-left: 4px;
}
.change .bar1 { transform: translate(0, 3px); }
.change .bar3 { transform: translate(0, -3px); }