CSS dropdown menu

by igorrybalko

HTML

<ul class="menu">
  <li>
    <a href="#">item-1</a>
    <ul>
      <li><a href="#">subitem-1</a></li>
      <li>
        <a href="#">subitem-2</a>
        <ul>
          <li><a href="#">subitem-7</a></li>
          <li><a href="#">subitem-8</a></li>
          <li><a href="#">subitem-9</a></li>
        </ul>
      </li>
      <li><a href="#">subitem-3</a></li>
    </ul>
  </li>
  <li>
    <a href="#">item-2</a>
    <ul>
      <li><a href="#">subitem-4</a></li>
      <li><a href="#">subitem-5</a></li>
      <li>
        <a href="#">subitem-6</a>
        <ul>
          <li><a href="#">subitem-10</a></li>
          <li><a href="#">subitem-11</a></li>
          <li><a href="#">subitem-12</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="#">item-3</a></li>
  <li><a href="#">item-4</a></li>
  <li><a href="#">item-5</a></li>
</ul>

CSS

.menu{
  display: flex;
}

.menu li{
  width: 200px;
  list-style: none;
  background: #383c54;
  position: relative;
}

.menu a {
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
  height: 40px;
  line-height: 40px;
  transition: all .5s;
}

.menu a:hover {
  background: #808291;
}

.menu ul {
  position: absolute;
  left: 0;
  top: 100%;
  display: none;
  padding: 0;
}

.menu li:hover > ul {
  display: block;
}

.menu ul ul {
  display: none;
  top: 0;
  left: 100%;
}