2017-02-09 5 views
2

Была попытка исправить мой код в течение нескольких часов, и я просто не могу. Я хочу, чтобы у моего навигатора была функция выпадающего списка. Но я не могу заставить его работать.Выпадающее меню CSS3/HTML5

Как вы можете видеть, я начал с раскрывающегося меню, но я не могу понять, куда идти оттуда. Был googling, и нашел много примеров, попытался скопировать/вставить некоторые из бит, без каких-либо хороших результатов. Поэтому я думал, что ты сможешь помочь.

nav { 
 
    display: block; 
 
    background-color: indianred; 
 
    box-shadow: 0px 10px 5px #888888; 
 
} 
 
nav ul { 
 
    text-align: center; 
 
} 
 
nav ul li { 
 
    display: inline-block; 
 
    padding: 20px; 
 
} 
 
nav ul li a { 
 
    width: 125px; 
 
    color: black; 
 
    padding: 20px; 
 
    background-color: blueviolet; 
 
    text-decoration: none; 
 
} 
 
nav ul li a:hover { 
 
    background-color: aqua; 
 
} 
 
.dropdown { 
 
    display: none; 
 
}
<nav> 
 
    <ul> 
 
    <li><a href="#">FORSIDE</a> 
 
    </li> 
 
    <li><a href="#">ERHVERVSUDDANNELSER</a> 
 
     <ul class="dropdown"> 
 
     <li>content 1</li> 
 
     <li>content 1</li> 
 
     <li>content 1</li> 
 
     <li>content 1</li> 
 
     </ul> 
 
    </li> 
 
    <li><a href="#">EUX</a> 
 
    </li> 
 
    <li><a href="#">HTX</a> 
 
    </li> 
 
    <li><a href="#">OM TECH COLLEGE</a> 
 
    </li> 
 
    </ul> 
 
</nav>

ответ

0

Изменение CSS к этому:

nav { 
 
    display: block; 
 
    background-color: indianred; 
 
    box-shadow: 0px 10px 5px #888888; 
 
} 
 

 
nav ul { 
 
    text-align: center; 
 
} 
 

 
nav ul li { 
 
    display: inline-block; 
 
    padding: 20px; 
 
    position:relative; 
 
} 
 

 
nav ul li a { 
 
    width: 125px; 
 
    color: black; 
 
    padding: 20px; 
 
    background-color: blueviolet; 
 
    text-decoration: none; 
 
} 
 

 
nav ul li a:hover { 
 
    background-color: aqua; 
 
} 
 

 
nav ul li ul { 
 
    display:none; 
 
} 
 
nav ul li:hover ul { 
 
    display:block; 
 
    position:absolute; 
 
    background:indianred; 
 
}
<nav> 
 
    <ul> 
 
     <li><a href="#">FORSIDE</a></li> 
 
     <li><a href="#">ERHVERVSUDDANNELSER</a> 
 
     <ul class="dropdown"> 
 
      <li>content 1</li> 
 
      <li>content 1</li> 
 
      <li>content 1</li> 
 
      <li>content 1</li> 
 
     </ul> 
 
     </li> 
 
     <li><a href="#">EUX</a></li> 
 
     <li><a href="#">HTX</a></li> 
 
     <li><a href="#">OM TECH COLLEGE</a></li> 
 
    </ul> 
 
</nav>

Вы хотели скрыть выпадающий список, но затем показать его при наведении мыши на родительский элемент в раскрывающемся списке в ,

Затем я сделал родительский лимит position:relative; и выпадающий список position:absolute, поэтому он не нажал ни одного из других пунктов меню выпадающего меню в любом месте, где он не должен быть, но не стилизовал его, придавая ему цвет фона.

1

ul { 
 
    list-style-type: none; 
 
    margin: 0; 
 
    padding: 0; 
 
    overflow: hidden; 
 
    background-color: #333; 
 
} 
 

 
li { 
 
    float: left; 
 
} 
 

 
li a, .dropbtn { 
 
    display: inline-block; 
 
    color: white; 
 
    text-align: center; 
 
    padding: 14px 16px; 
 
    text-decoration: none; 
 
} 
 

 
li a:hover, .dropdown:hover .dropbtn { 
 
    background-color: red; 
 
} 
 

 
li.dropdown { 
 
    display: inline-block; 
 
} 
 

 
.dropdown-content { 
 
    display: none; 
 
    position: absolute; 
 
    background-color: #f9f9f9; 
 
    min-width: 160px; 
 
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 
 
    z-index: 1; 
 
} 
 

 
.dropdown-content a { 
 
    color: black; 
 
    padding: 12px 16px; 
 
    text-decoration: none; 
 
    display: block; 
 
    text-align: left; 
 
} 
 

 
.dropdown-content a:hover {background-color: #f1f1f1} 
 

 
.dropdown:hover .dropdown-content { 
 
    display: block; 
 
}
<ul> 
 
    <li><a href="#">Home</a></li> 
 
    <li><a href="#">News</a></li> 
 
    <li class="dropdown"> 
 
    <a href="#" class="dropbtn">Dropdown</a> 
 
    <div class="dropdown-content"> 
 
     <a href="#">Link 1</a> 
 
     <a href="#">Link 2</a> 
 
     <a href="#">Link 3</a> 
 
    </div> 
 
    </li> 
 
</ul>

для более детальной информации посетите Dropdown Menu in Navbar

0

вам нужно написать CSS для элемента при наведении курсора мыши

как

element1:hover tobeshownele{display:block;} 
0

Вы можете попробовать что-то вроде этого , Не хотелось слишком сильно меняться, поэтому код и пользовательский интерфейс все еще довольно грязные.

nav { 
 
    display: block; 
 
    background-color: indianred; 
 
    box-shadow: 0px 10px 5px #888888; 
 
} 
 

 
nav ul { 
 
    text-align: center; 
 
} 
 

 
nav ul li { 
 
    display: inline-block; 
 
    margin: 20px; 
 
} 
 

 
nav ul li a { 
 
    width: 125px; 
 
    color: black; 
 
    padding: 20px; 
 
    background-color: blueviolet; 
 
    text-decoration: none; 
 
} 
 

 
nav ul li a:hover { 
 
    background-color: aqua; 
 
} 
 

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

 
nav ul li:hover .dropdown { 
 
    display: block; 
 
} 
 

 
ul.dropdown li { 
 
    display: block; 
 
    padding: 10px; 
 
}
<nav> 
 
    <ul> 
 
     <li><a href="#">FORSIDE</a></li> 
 
     <li><a href="#">ERHVERVSUDDANNELSER</a> 
 
      <ul class="dropdown"> 
 
      <li><a href="#">content 1</a></li> 
 
      <li><a href="#">content 1</a></li> 
 
      <li><a href="#">content 1</a></li> 
 
      <li><a href="#">content 1</a></li> 
 
      </ul> 
 
     </li> 
 
     <li><a href="#">EUX</a></li> 
 
     <li><a href="#">HTX</a></li> 
 
     <li><a href="#">OM TECH COLLEGE</a></li> 
 
    </ul> 
 
</nav>