JSFiddle - React, Tailwind, and code Playground
by Elena Lembersky
HTML
<div class="sub-trigger opened">
<span class="l-top"></span>
<span class="l-bot"></span>
</div>
CSS
.sub-trigger {
cursor: pointer;
display: block;
height: 16px;
pointer-events: auto;
position: relative;
width: 16px;
z-index: 110;
}
.sub-trigger span.l-top {
transform: translateY(7px) rotate(90deg);
-webkit-transform: translateY(7px) rotate(90deg);
-ms-transform: translateY(7px) rotate(90deg);
}
.sub-trigger span.l-bot {
transform: translateY(7px);
-webkit-transform: translateY(7px);
-ms-transform: translateY(7px);
}
.sub-trigger span {
height: 2px;
left: 0;
top: 0;
position: absolute;
transition: transform 0.3s ease 0s;
-webkit-transition: transform 0.3s ease 0s;
-moz-transition: transform 0.3s ease 0s;
-o-transition: transform 0.3s ease 0s;
width: 100%;
background-color: #cc0000;
}
.sub-trigger.opened span.l-top {
transform: translateY(7px) rotate(180deg);
-webkit-transform: translateY(7px) rotate(180deg);
-ms-transform: translateY(7px) rotate(180deg);
}
.sub-trigger.opened span.l-bot {
background-color: transparent;
}
JavaScript
$('.sub-trigger').click(function(){
$(this).toggleClass('opened');
});