JSFiddle - React, Tailwind, and code Playground
by jpeter06
HTML
<ul class="top_icons">
<li>
<a onclick="show(this)"> A </a>
<ul>
<li>Uno</li>
<li>Dos</li>
</ul>
</li>
<li>
<a onclick="show(this)"> B </a>
<ul>
<li>tres</li>
<li>cuatro</li>
<li>cinco</li>
<li>cinco</li>
<li>cinco</li>
<li>cinco</li>
<li>cinco</li>
</ul>
</li>
</ul>
CSS
.top_icons{
color:gray;
float:right;
}
.top_icons ul { display: block;}
.top_icons > li{
float: left;
list-style: none;
outline: none;
margin-left: 4px;
cursor:pointer;
}
.top_icons li ul{
width: 200px;
padding: 0px;
margin: 0px;
overflow: hidden;
position: absolute;
background-color: white;
border-radius: 2px;
margin: 12px 0px 0px -190px;
box-shadow: 0px 1px 4px 0px rgba(43, 59, 93, 0.6);
}
.top_icons li ul{
transform: perspective(500px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);
transition: all 0.5s ease;
}
.top_icons li ul.show{
height: auto;
transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
.top_icons li ul li{
margin-left:4px;
}
.top_icons li ul li:hover{
color:red;
background:#eee;
}
JavaScript
function show(obj){
console.log(obj.nextElementSibling);
obj.nextElementSibling.classList.toggle('show');
}