JSFiddle - React, Tailwind, and code Playground
by Johan Muller
HTML
<div id="menu">
<ul>
<li>Настройка дизайна</li>
<li>Настройка профиля</li>
<li>Поиск друзей</li>
<li>Выйти</li>
</ul>
</div>
CSS
ul, li {
margin: 0px;
padding: 0px;
list-style: none;
font-family:'Calibri', serif;
}
#menu {
margin-top: 5px;
position: relative;
display: inline-block;
transition: all 0.3s 0s;
}
#menu:before {
content:'';
position: absolute;
width: 0;
height: 0;
top: -15px;
left: 50%;
margin-left: -8px;
border-top: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid #444;
border-left: 8px solid transparent;
}
#menu ul {
background: #444;
padding: 10px 0px;
border-radius: 5px;
}
#menu li {
position: relative;
text-align: left;
background: #444;
padding: 0px 10px;
letter-spacing: -1px;
font-size: 17px;
color: #fff;
cursor: pointer;
}
#menu li:hover {
background-color: #777;
}
#menu div {
border-bottom: 1px solid #777;
padding: 5px 15px;
}
JavaScript
$('#menu li').wrapInner('<div></div>');
$('#menu li:last div').css('border-bottom','1px solid transparent');
$('#menu li').hover(function(){
var k=$(this).index();
if (k==0) return false;
$('#menu li').eq(k-1).children().css('border-bottom','1px solid transparent');
}, function() {
var k=$(this).index();
if (k==0) return false;
$('#menu li').eq(k-1).children().css('border-bottom','1px solid #777');
});