JSFiddle - React, Tailwind, and code Playground

HTML

<ul id="menu">
        <li><a href="#">Пункт №1</a></li>
        <li>
                <a href="#">Пункт №2</a>
                <ul>
                        <li><a href="#">Подпункт №1</a></li>
                        <li><a href="#">Подпункт №2</a></li>
                        <li><a href="#">Подпункт №3</a></li>
                </ul>
        </li>
        <li>
                <a href="#">Пункт №3</a>
                <ul>
                        <li><a href="#">Подпункт №1</a></li>
                        <li><a href="#">Подпункт №2</a></li>
                        <li><a href="#">Подпункт №3</a></li>
                        <li><a href="#">Подпункт №4</a></li>
                        <li><a href="#">Подпункт №5</a></li>
                </ul>
        </li>
        <li>
                <a href="#">Пункт №4</a>
                <ul>
                        <li><a href="#">Подпункт №1</a></li>
                </ul>
        </li>
        <li>
                <a href="#">Пункт №5</a>
                <ul>
                        <li><a href="#">Подпункт №1</a></li>
                        <li><a href="#">Подпункт №2</a></li>
                        <li><a href="#">Подпункт №3</a></li>
                        <li><a href="#">Подпункт №4</a></li>
                        <li><a href="#">Подпункт №5</a></li>
                </ul>
        </li>
</ul>

CSS

#menu {
        padding: 0;
        margin: 0;
        font-size: 100%;
        font-family: Georgia;
        }
#menu li {
        list-style: none;
        float: left;
        height: 33px;
        padding: 0;
        margin: 0;
        width: 150px;
        text-align: center;
        background: #171717;
        position: relative;
        padding-top: 12px;
        }
#menu li ul {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 20px;
        display: none;
        position: absolute;
        left: 0;
        top: 45px;
        }
#menu li ul li {
        display: inline;
        height: 33px;
        
        margin: 0;
        width: 400px;
        
        text-align: left;
        background: #7F7F7F;
        }
#menu li a {
        display: block;
        width: 150px;
        height: 33px;
        color: #fff;
        text-decoration: none;
        }
#menu li:hover ul, #menu li.jshover ul {
        display: block;
        }
#menu li:hover, #menu li.jshover {
        background: #424242;
    
        }

JavaScript

jsHover = function() {
        var hEls = document.getElementById("menu").getElementsByTagName("li");
        for (var i=0, len=hEls.length; i<len; i++) {
        hEls[i].onmouseover=function() { this.className+=" jshover"; }
        hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
        }
        }
        if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);