2016-12-02 5 views
2

Я начинающий в html, и я пытаюсь начать работу над своим онлайн-портфолио, я получил настройку навигационной панели, и теперь я пытаюсь создать раскрывающееся меню из панели навигации. До сих пор мне не удалось заставить элементы даже войти в раскрывающееся меню, поэтому я думаю, что я не правильно настроил контейнер. Спасибо вам раньше времени!Выпадающее меню HTML не работает

/* nav bar */ 
 
body { 
 
    margin: 0; 
 
    padding: 0; 
 
    
 
} 
 
    
 
.nav ul { 
 
    list-style: none; 
 
    background-color: #444; 
 
    text-align: center; 
 
    padding: 15; 
 
    margin: 0; 
 
} 
 
.nav li { 
 
    font-family: 'Oswald', sans-serif; 
 
    font-size: 1.2em; 
 
    line-height: 40px; 
 
    height: 40px; 
 
    padding-right: 40px; 
 
    border-bottom: 1px solid #888; 
 
} 
 
    
 
.nav a { 
 
    text-decoration: none; 
 
    color: #fff; 
 
    display: block; 
 
    transition: .3s background-color; 
 
} 
 
    
 
.nav a:hover { 
 
    background-color: #005f5f; 
 
} 
 
    
 
.nav a.active { 
 
    background-color: #fff; 
 
    color: #444; 
 
    cursor: default; 
 
} 
 
    
 
@media screen and (min-width: 600px) { 
 
    .nav li { 
 
    width: 150px; 
 
    border-bottom: none; 
 
    height: 50px; 
 
    line-height: 50px; 
 
    font-size: 1.4em; 
 
    } 
 
    
 
    /* Option 1 - Display Inline */ 
 
    .nav li { 
 
    display: inline-block; 
 
    margin-right: -4px; 
 
    } 
 
    
 
    /* Options 2 - Float 
 
    .nav li { 
 
    float: left; 
 
    } 
 
    .nav ul { 
 
    overflow: auto; 
 
    width: 600px; 
 
    margin: 0 auto; 
 
    } 
 
    .nav { 
 
    background-color: #444; 
 
    } 
 
    */ 
 
    
 
    /*****************************************************************/ 
 
    /*Dropdown for portfolio tab */ 
 
    /*****************************************************************/ 
 
    /* Dropdown Button */ 
 

 
.dropbtn { 
 
    background-color: #4CAF50; 
 
    color: white; 
 
    padding: 16px; 
 
    font-size: 16px; 
 
    border: none; 
 
    cursor: pointer; 
 
} 
 

 
.dropdown { 
 
    position: relative; 
 
    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); 
 
} 
 

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

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

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

 
.dropdown:hover .dropbtn { 
 
    background-color: #3e8e41; 
 
} 
 
    
 
    
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <meta charset="UTF-8"> 
 
\t <META name="viewport" content="width=device-width, initial-scale=1"> 
 
<title> Will's Portfolio </title> 
 
<link rel="stylesheet" href="dropdown.css"> 
 
<link href='http://fonts.gooleapis.com/css?family=Oswald' 
 
rel='stylesheet' type='text/css'> 
 

 

 
</head> 
 
<body background = "http://2.bp.blogspot.com/-Xmo26BMqg5Q/UihlqVwTwgI/AAAAAAAAAv0/V-Rrgm0V6oo/s1600/Top+10+best+Simple+Awesome+Background+Images+for+Your+Website+or+Blog3.jpg"> 
 
<body class="About Me"> 
 
\t <header> 
 
\t \t <div class="nav"> 
 
\t \t \t <ul> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t \t <li><a href="#">About Me</a></li> \t \t \t \t 
 
\t \t \t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t <div class="dropdown"> 
 
\t \t \t \t <button class="dropbtn">Portfolio</button> 
 
\t \t \t \t <div class="dropdown-content"> 
 
\t \t \t \t \t <a href="#">Graphics</a> 
 
\t \t \t \t \t <a href="#">Other</a> 
 
\t \t \t \t \t 
 
\t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t </li> 
 
\t \t \t \t <li><a href="#"><nobr>Future Work</nobr></a></li> 
 
\t \t \t </ul> 
 
\t \t </div> \t 
 
\t \t 
 

 
\t </header> 
 
</div> 
 
\t \t 
 
\t \t 
 

 

 
</body> 
 
</html>

ответ

0

Ты проблема с этим селектором CSS:

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

Оно должно быть:

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

/* nav bar */ 
 
body { 
 
    margin: 0; 
 
    padding: 0; 
 
    
 
} 
 
    
 
.nav ul { 
 
    list-style: none; 
 
    background-color: #444; 
 
    text-align: center; 
 
    padding: 15; 
 
    margin: 0; 
 
} 
 
.nav li { 
 
    font-family: 'Oswald', sans-serif; 
 
    font-size: 1.2em; 
 
    line-height: 40px; 
 
    height: 40px; 
 
    padding-right: 40px; 
 
    border-bottom: 1px solid #888; 
 
} 
 
    
 
.nav a { 
 
    text-decoration: none; 
 
    color: #fff; 
 
    display: block; 
 
    transition: .3s background-color; 
 
} 
 
    
 
.nav a:hover { 
 
    background-color: #005f5f; 
 
} 
 
    
 
.nav a.active { 
 
    background-color: #fff; 
 
    color: #444; 
 
    cursor: default; 
 
} 
 
    
 
@media screen and (min-width: 600px) { 
 
    .nav li { 
 
    width: 150px; 
 
    border-bottom: none; 
 
    height: 50px; 
 
    line-height: 50px; 
 
    font-size: 1.4em; 
 
    } 
 
    
 
    /* Option 1 - Display Inline */ 
 
    .nav li { 
 
    display: inline-block; 
 
    margin-right: -4px; 
 
    } 
 
    
 
    /* Options 2 - Float 
 
    .nav li { 
 
    float: left; 
 
    } 
 
    .nav ul { 
 
    overflow: auto; 
 
    width: 600px; 
 
    margin: 0 auto; 
 
    } 
 
    .nav { 
 
    background-color: #444; 
 
    } 
 
    */ 
 
    
 
    /*****************************************************************/ 
 
    /*Dropdown for portfolio tab */ 
 
    /*****************************************************************/ 
 
    /* Dropdown Button */ 
 

 
.dropbtn { 
 
    background-color: #4CAF50; 
 
    color: white; 
 
    padding: 16px; 
 
    font-size: 16px; 
 
    border: none; 
 
    cursor: pointer; 
 
} 
 

 
.dropdown { 
 
    position: relative; 
 
    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); 
 
} 
 

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

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

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

 
.dropdown:hover .dropbtn { 
 
    background-color: #3e8e41; 
 
} 
 
    
 
    
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <meta charset="UTF-8"> 
 
\t <META name="viewport" content="width=device-width, initial-scale=1"> 
 
<title> Will's Portfolio </title> 
 
<link rel="stylesheet" href="dropdown.css"> 
 
<link href='http://fonts.gooleapis.com/css?family=Oswald' 
 
rel='stylesheet' type='text/css'> 
 

 

 
</head> 
 
<body background = "http://2.bp.blogspot.com/-Xmo26BMqg5Q/UihlqVwTwgI/AAAAAAAAAv0/V-Rrgm0V6oo/s1600/Top+10+best+Simple+Awesome+Background+Images+for+Your+Website+or+Blog3.jpg"> 
 
<body class="About Me"> 
 
\t <header> 
 
\t \t <div class="nav"> 
 
\t \t \t <ul> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t \t <li><a href="#">About Me</a></li> \t \t \t \t 
 
\t \t \t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t <div class="dropdown"> 
 
\t \t \t \t <button class="dropbtn">Portfolio</button> 
 
\t \t \t \t <div class="dropdown-content"> 
 
\t \t \t \t \t <a href="#">Graphics</a> 
 
\t \t \t \t \t <a href="#">Other</a> 
 
\t \t \t \t \t 
 
\t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t </li> 
 
\t \t \t \t <li><a href="#"><nobr>Future Work</nobr></a></li> 
 
\t \t \t </ul> 
 
\t \t </div> \t 
 
\t \t 
 

 
\t </header> 
 
</div> 
 
\t \t 
 
\t \t 
 

 

 
</body> 
 
</html>

3

Элемент с dropdown-content класса находится внутри элемента с dropdown класса, так что вы ищете на самом деле .dropdown:hover .dropdown-content

Вы текущий код (+ символов) сообщает браузеру, чтобы проверить на смежный (а не дочерний элемент), что не является вашим делом.

Это обновление для вашего кода:

/* nav bar */ 
 
body { 
 
    margin: 0; 
 
    padding: 0; 
 
    
 
} 
 
    
 
.nav ul { 
 
    list-style: none; 
 
    background-color: #444; 
 
    text-align: center; 
 
    padding: 15; 
 
    margin: 0; 
 
} 
 
.nav li { 
 
    font-family: 'Oswald', sans-serif; 
 
    font-size: 1.2em; 
 
    line-height: 40px; 
 
    height: 40px; 
 
    padding-right: 40px; 
 
    border-bottom: 1px solid #888; 
 
} 
 
    
 
.nav a { 
 
    text-decoration: none; 
 
    color: #fff; 
 
    display: block; 
 
    transition: .3s background-color; 
 
} 
 
    
 
.nav a:hover { 
 
    background-color: #005f5f; 
 
} 
 
    
 
.nav a.active { 
 
    background-color: #fff; 
 
    color: #444; 
 
    cursor: default; 
 
} 
 
    
 
@media screen and (min-width: 600px) { 
 
    .nav li { 
 
    width: 150px; 
 
    border-bottom: none; 
 
    height: 50px; 
 
    line-height: 50px; 
 
    font-size: 1.4em; 
 
    } 
 
    
 
    /* Option 1 - Display Inline */ 
 
    .nav li { 
 
    display: inline-block; 
 
    margin-right: -4px; 
 
    } 
 
    
 
    /* Options 2 - Float 
 
    .nav li { 
 
    float: left; 
 
    } 
 
    .nav ul { 
 
    overflow: auto; 
 
    width: 600px; 
 
    margin: 0 auto; 
 
    } 
 
    .nav { 
 
    background-color: #444; 
 
    } 
 
    */ 
 
    
 
    /*****************************************************************/ 
 
    /*Dropdown for portfolio tab */ 
 
    /*****************************************************************/ 
 
    /* Dropdown Button */ 
 

 
.dropbtn { 
 
    background-color: #4CAF50; 
 
    color: white; 
 
    padding: 16px; 
 
    font-size: 16px; 
 
    border: none; 
 
    cursor: pointer; 
 
} 
 

 
.dropdown { 
 
    position: relative; 
 
    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); 
 
} 
 

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

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

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

 
.dropdown:hover .dropbtn { 
 
    background-color: #3e8e41; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <meta charset="UTF-8"> 
 
\t <META name="viewport" content="width=device-width, initial-scale=1"> 
 
<title> Will's Portfolio </title> 
 
<link rel="stylesheet" href="dropdown.css"> 
 
<link href='http://fonts.gooleapis.com/css?family=Oswald' 
 
rel='stylesheet' type='text/css'> 
 

 

 
</head> 
 
<body background = "http://2.bp.blogspot.com/-Xmo26BMqg5Q/UihlqVwTwgI/AAAAAAAAAv0/V-Rrgm0V6oo/s1600/Top+10+best+Simple+Awesome+Background+Images+for+Your+Website+or+Blog3.jpg"> 
 
<body class="About Me"> 
 
\t <header> 
 
\t \t <div class="nav"> 
 
\t \t \t <ul> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t \t <li><a href="#">About Me</a></li> \t \t \t \t 
 
\t \t \t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t <div class="dropdown"> 
 
\t \t \t \t <button class="dropbtn">Portfolio</button> 
 
\t \t \t \t <div class="dropdown-content"> 
 
\t \t \t \t \t <a href="#">Graphics</a> 
 
\t \t \t \t \t <a href="#">Other</a> 
 
\t \t \t \t \t 
 
\t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t </li> 
 
\t \t \t \t <li><a href="#"><nobr>Future Work</nobr></a></li> 
 
\t \t \t </ul> 
 
\t \t </div> \t 
 
\t \t 
 

 
\t </header> 
 
</div> 
 
\t \t 
 
\t \t 
 

 

 
</body> 
 
</html>

Смежные вопросы