JSFiddle - React, Tailwind, and code Playground

HTML

<ul>
    <li tabindex="0"><span class="title">Lvl 0</span>

        <ul>
            <li>Lvl 1</li>
            <li><span class="title">Lvl 1</span>

                <ul>
                    <li>Lvl 2</li>
                    <li>Lvl 2</li>
                    <li>Lvl 2</li>
                </ul>
            </li>
            <li>Lvl 1</li>
        </ul>
    </li>
    <li tabindex="0"><span class="title">Lvl 0</span>

        <ul>
            <li>Lvl 1</li>
            <li><span class="title">Lvl 1</span>

                <ul>
                    <li>Lvl 2</li>
                    <li>Lvl 2</li>
                    <li>Lvl 2</li>
                </ul>
            </li>
            <li>Lvl 1</li>
        </ul>
    </li>
</ul>

CSS

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

li {
    position: relative;
    padding: 3px 5px;
    cursor: pointer;
}

li>ul {
    position: absolute;
    width: 200px;
    display: none;
    background: #f0f0f0;
}

li:hover>ul,li:focus>ul {
    display: block;
}

ul>li {
    display: inline-block;
    margin: 0 10px;
}
ul>li li {
    display: block;
}
ul>li li>ul {
    top: 0;
    left: 100%;
}

/* helper to visualize things */
li:hover {
    background: #eee;
    outline: 1px dotted red;
}