JSFiddle - React, Tailwind, and code Playground
by Bahman ParsaManesh
HTML
<li class="dropdown">
<a class="drop" href="#">
<span>Dropdown</span>
<i class="down-caret"></i>
</a>
</li>
CSS
a {
text-decoration: none;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown .drop {
background-color: #3498db;
color: #fff;
padding: 1rem;
border-radius: 6px;
position: relative;
display: inline-block;
}
.down-caret {
width: 0;
height: 0;
border-style: solid;
border-width: 5px 5px 0 5px;
border-color: #ffffff transparent transparent transparent;
display: inline-block;
margin-left: 6px;
top: -3px;
position: relative;
transform: rotate(0deg);
transition: all 0.25s ease-in;
}
.open-caret {
transform: rotate(180deg);
transition: all 0.25s ease-out;
}
JavaScript
$(document).ready(function(){
$('.dropdown').click(function(e){
$($('.dropdown').find('.down-caret').toggleClass('open-caret'));
/* e.stopPropagation() */;
/* $(document).click(function(){
$('.dropdown-menu').removeClass('open');
$('.down-caret').removeClass('open-caret');
}); */
});
});