Html Css Новичок, создающий выпадающее меню навигационной панели

#html #css

#HTML #css

Вопрос:

Я новичок в css и html, и у меня возникли проблемы с созданием выпадающего меню внутри панели навигации. В выпадающем меню «Продукт» при нажатии на него не отображается список выпадающего меню. Если кто-нибудь может указать на проблему, я был бы очень благодарен. Ниже приведен HTML-код для панели навигации:

 .Navigation {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #4C4747;
  border: 2px;
  border-radius: 5px;
}
.Navigation li {
  list-style-type: none;
  float: left;
}
.Navigation li a {
  border-right: 2px solid black;
  font-family: sans-serif;
  color: white;
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 10px 15px 10px 15px;
}
.dropdown li {
  position: relative;
  display: inline-block;
}
.dropdown-content {
  display: none;
  position: absolute;
}
.dropdown-content a {
  color: white;
  text-decoration: none;
  display: block;
}
.dropdown:hover .dropbtn {
  display: block;
}  
 <ul class="Navigation">
  <li><a href="Home.html">HOME</a>
  </li>

  <!-- Dropdown -->
  <li class="dropdown">
    <a href="Product.html" class="dropbtn">PRODUCT</a>
    <div class="dropdown-content">
      <a href="Computer.html">COMPUTER</a>
      <a href="Laptop.html">LAPTOP</a>
      <a href="Smartphone.html">SMARTPHONE</a>
    </div>
  </li>
  <!--  -->
  <li><a href="#news">ABOUT</a>
  </li>
</ul>  

Комментарии:

1. Это учебное пособие, которое вы использовали в качестве источника вдохновения? html.com/anchors-links/menus /…

2. Нет. Его проект из кампуса

Ответ №1:

Вам нужно изменить свой .dropbtn на .dropdown-content такой:

 .dropdown:hover .dropdown-content{
    display: block;
}
  

Вот фрагмент кода:

 .Navigation {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #4C4747;
    border: 2px;
    border-radius: 5px;
}

.Navigation li {
    list-style-type: none;
    float: left;
}

.Navigation li a {
    border-right: 2px solid black;
    font-family: sans-serif;
    color: white;
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 10px 15px 10px 15px;
    }

.dropdown li {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
}

.dropdown-content a {
    color: white;
    text-decoration: none;
    display: block;
    background-color: #4c4747;
}
.dropdown:hover .dropdown-content{
    display: block;
}  
 <ul class="Navigation">
<li><a href="Home.html">HOME</a></li>

          <!-- Dropdown -->
    <li class="dropdown">
    <a href="Product.html" class="dropbtn">PRODUCT</a>
        <div class="dropdown-content">
           <a href="Computer.html">COMPUTER</a>
           <a href="Laptop.html">LAPTOP</a>
           <a href="Smartphone.html">SMARTPHONE</a>
         </div>
    </li>
            <!--  -->
    <li><a href="#news">ABOUT</a></li>
</ul>  

Комментарии:

1. Я рад слышать, что @asdfg1234, затем отметьте ответ как правильный

Ответ №2:

вы можете попробовать это:

 .Navigation {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #4C4747;
    border: 2px;
    border-radius: 5px;
}

.Navigation li {
    list-style-type: none;
    float: left;
}

.Navigation li a {
    border-right: 2px solid black;
    font-family: sans-serif;
    color: white;
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 10px 15px 10px 15px;
    }

.dropdown li {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
     background-color: #4C4747;
}

.dropdown-content a {
    color: white;
    text-decoration: none;
    display: block;
}
.dropdown-content a:hover
{
  background-color:red;
}
.dropdown:hover .dropdown-content{
    display: block;
}
  

ДЕМОНСТРАЦИЯ ЗДЕСЬ

Ответ №3:

Вам нужно изменить свой .dropbtn на .dropdown-content , потому что тогда кнопка будет отображаться (с display: block; ) при наведении курсора .dropdown мыши, даже если она отображается в любом случае. Вы хотите, чтобы ваш контент отображался при наведении курсора .dropdown мыши. Так что измените его на это-

 .dropdown:hover .dropdown-content {display: block;}