JSFiddle - React, Tailwind, and code Playground
by sijav
HTML
<ul id="menu">
<li><a class="upFont" href="#">Menu 1</a>
<ul>
<div>
<li><a class="subFont" href="#">Level 1.1</a></li>
<li><a class="subFont" href="#">Level 1.2</a></li>
</div>
</ul>
</li>
<li><a class="upFont" href="#">Menu 2</a>
<ul>
<div>
<li class="sub"><a class="subFont" href="#">Level 2.1</a>
<ul>
<div>
<li><a class="subFont" href="#">Level 2.1.1</a></li>
<li><a class="subFont" href="#">Level 2.1.2</a></li>
</div>
</ul>
</li>
<li class="sub"><a class="subFont" href="#">Level 2.2</a>
<ul>
<div>
<li><a class="subFont" href="#">Level 2.2.1</a></li>
<li><a class="subFont" href="#">Level 2.2.2</a></li>
<li><a class="subFont" href="#">Level 2.2.3</a></li>
<li><a class="subFont" href="#">Level 2.2.4</a></li>
</div>
</ul>
</li>
<li><a class="subFont" href="#">Level 2.3</a></li>
<li><a class="subFont" href="#">Level 2.4</a></li>
<li class="sub"><a class="subFont" href="#">Level 2.5</a>
<ul>
<div>
<li><a class="subFont" href="#">Level 2.5.1</a></li>
<li><a class="subFont" href="#">Level 2.5.2</a></li>
<li><a class="subFont" href="#">Level 2.5.3</a></li>
<li><a class="subFont" href="#">Level 2.5.4</a></li>
<li><a class="subFont" href="#">Level 2.5.5</a></li>
<li><a class="subFont" href="#">Level...
CSS
/*********FOR RTL USE THIS********/
#menu {
direction:ltr;
text-align:right;
}
#menu a{
display: block;
text-decoration:none;
color:black;
}
#menu a.upFont {
direction:rtl;
display:block;
color: #FEFFFF;
text-decoration:none;
font-family: "broya";
margin-top:-3px;
font-size: 15px;
width:100%;
cursor: default;
text-align: center;
}
#menu > li, #menu div{
-moz-box-shadow: 0 0 10px #99ccff;
-webkit-box-shadow: 0 0 10px #99ccff;
box-shadow: 0 0 10px #99ccff;
}
#menu > li, #menu > li li {
transition: background 300ms;
position: relative;
display:inline-block;
margin:0px;
min-width: 110px;
padding: 6px 6px;
background-color: #4878A8;
background-image: linear-gradient(#6898C8, #4878A8 50%, #386898 50%, #5888B8);
}
#menu > li{
height: 20px;
}
#menu li.sub > a:after{
content: '>';
float: left;
}
#menu > li li {
background: transparent none;
font-size: 11px;
height: initial;
}
#menu > li li.sub {
white-space:normal;
}
#menu a.subFont {
color: #436C94;
font-family: "broya";
font-size: 11px;
width:100%;
}
#menu > li li:hover {
background:#D3ECF6;
}
#menu > li:first-child {
border-right: 1px solid #769FC7;
border-radius: 8px 0 0 8px;
}
#menu > li + li {
margin-left: -4px;
border-left: 1px solid #A9CFFA;
border-right: 1px solid #769FC7;
}
#menu > li:last-child {
margin-right: 0px;
border-right:0;
border-left: 1px solid #A9CFFA;
border-radius: 0 8px 8px 0;
}
#menu > li:hover {
background-color: #98BFE9;
background-image: linear-gradient(#88B8E8, #6898C8 50%, #5888B8 50%, #78A8D8);
z-index: 10000;
}
#menu ul {
-webkit-transition: 0s 1.5s;
-moz-transition: 0s 1.5s;
-o-transition: 0s 1.5s;
transition: 0s 1.5s;
visibility:hidden;
position: absolute;
top: 32px;
right:-5px;
margin:0;
padding:0px 5px 5px 5px;
overflow:hidden;
border-radius: 0 0 8px 8px;
}
#menu ul ul {
top: 0px;
right:100%;
padding: 0px 1px 5px 5px;
}
#menu ul
{
cursor:pointer;
}
#menu div...
JavaScript
$("#menu li li.sub").hover(function () { $(this).parent().parent('ul').css("overflow", "visible"); }, function () { $(this).parent().parent('ul').css("overflow", "hidden"); });
$("#menu li li.sub").click(function () { setTimeout(function () { $(this).mouseenter(); }, 10); });