Почему в html не срабатывает выпадающий подпункт?

При наведении на пункт 2 должны выпадать подпункты, но этого не происходит. Помогите, пожалуйста. Заранее спасибо.

<html lang="en">

<head>
  <link href="main.css" rel="stylesheet">
  <title>Тест</title>
  <meta charset="utf-8">
</head>

<body>
  <header>
    <nav>
      <ul class="nav_links">
        <li><a href="#">пункт 1</a>
        </li>
        <li><a href="#">пункт 2</a>
          <ul class="s_links">
            <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>
        </li>
        <li><a href="#">пункт 4</a>
        </li>
      </ul>
    </nav>
  </header>
</body>

</html>
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

li, a {
  font-family: 'Open Sans', sans-serif;
  text-decoration: none;
}

header {
  font-size: 21px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 30%;
  height: 50px;
  background-color: #358;
}

.nav_links {
  list-style: none;
}

.nav_links li {
  display: inline-block;
  padding: 20px 40px;
  position: relative;
}

.nav_links li a {
  transition: all .3s ease 0s;
  color: #2aaa00;
}

.nav_links li a:hover {
  color: #3fff00;
}

.nav_links li a:hover ul.s_links {
  top: 59px;
}

.s_links {
  font-size: 18px;
  position: absolute;
  background-color: #358;
  left: 0;
  top: -390px;
  transition: all .3s ease 0s;
  z-index: -1;
}

.s_links li {
  display: block;
  padding: 20px 40px;
  border-top: 1px solid #fff;
}

.s_links li a {
  transition: all .3s ease 0s;
}

.s_links li a:hover {
  color: #3fff00;
}


Ответы (1 шт):

Автор решения: Parawaram

Если поменять в css это место будет рабоать: .nav_links li:hover ul.s_links {top: 59px;}

Но это не идеальный вариант. Проблема была в том, что селектор a:hover ul.s_links пытается найти спискок который внутри ссылки на которую наводится курсор. В данном случае в HTML список не внутри ссылки а рядом с ней. В CSS нельзя изменить соседний или родительский элеменет от того, с которым произошло взаимодействие (:hover, :active ...).

→ Ссылка