JSFiddle - React, Tailwind, and code Playground

by Alice

HTML

<nav>
            <ul class="topmenu">
               <li><a href="" class="active">Меню<span class="fa fa-angle-down"></span></a>
                   <ul class="submenu">
                       <li><a href="">Физико-географическое положение</a></li>
                       <li><a href="">История исследования и освоение материка</a><span class="fa fa-angle-down"></span>
                          <ul class="submenu">
                             <li><a href="">Основные события</a></li>
                             <li><a href="">Доевропейский период</a></li>
                             <li><a href="">Колониальные войны</a></li>
                             <li><a href="">Новая и Новейшая история</a></li>
                          </ul>
                          </li>
                       <li><a href="">Геологическое строение</a></li>
                       <li><a href="">Климат</a></li>
                       <li><a href="">Внутренние воды</a></li>
                       <li><a href="">Природные ландшафты и своеобразие органического мира</a><span class="fa fa-angle-down"></span>
                          <ul class="submenu">
                             <li><a href="">Ландшафты</a></li>
                             <li><a href="">Растительный мир</a></li>
                             <li><a href="">Животный мир</a></li>
                          </ul>
                          </li>
                       <li><a href="">Население и хозяйство</a><span class="fa fa-angle-down"></span>
                          <ul class="submenu">
                             <li><a href="">Государственное устройство</a></li>
                             <li><a href="">Население</a></li>
                             <li><a href="">Хозяйство</a></li>
                          </ul>
                          </li>
                       <li><a href="">Словарь</a></li>
                       <li><a href="">Карта сайта</a></li>
            </ul>
            </li>
            </ul>
    ...

CSS

*{box-sizing: border-box;}
nav {background: #9e5fd8;}
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav ul:after {
  content: "";
  display: table;
  clear: both;
}
nav a {
  text-decoration: none;
  display: block;
  transition: .3s linear;
  color: #fffafa;
}
.topmenu > li {
  float: left;
  position: relative;
  border-left: 1px solid #fffafa;
}
.topmenu > li:first-child {border-left: 0;}
.topmenu > li > a {  
  padding: 16px 25px;
  font-size: 16px;
  color: #FfFaFa;
}
.topmenu > li > a:hover {background:#BA55D3;}
.submenu a:hover {background:#BA55D3;}
.topmenu .fa, 
.submenu .fa {
  margin-left: 5px;
  color: inherit;
}
.submenu {
  position: absolute;
  width: 450px;
  background: #9e5fd8;
  border-top: 1px solid #CBCBCC;
  border-left: 1px solid #CBCBCC;
  border-right: 1px solid #CBCBCC;
  visibility: hidden;
  opacity: 0; 
  transform-origin: 0% 0%;
  transform: rotateX(-90deg);
  transition: .3s linear;  
}
.submenu li {position: relative;}
.submenu li a {
  color: #fffafa;
  padding: 10px 20px;
  font-size: 14px;
  border-bottom: 1px solid #CBCBCC;
}
.submenu .submenu {
  position: absolute;
  left: 100%;
  top: -1px;
  transition: .3s linear;
}
nav li:hover > .submenu {
  transform: rotateX(0deg);
  visibility: visible;
  opacity: 1;
}