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');    

});