Я добавил немного CSS, пожалуйста, проверьте его.
Ваш выпадающий элемент является дочерним по отношению к тегу li
, так что ниже css не будет работать для этого
.navcontainer__dropdown:hover .navcontainer__dropdown__dropdown-content {
display: block;
}
Вместо этого используйте:
.navcontainer__item:hover .navcontainer__dropdown-content {
background-color: #4d4d4d;
display: block;
}
Также вам необходимо удалить переполнение для ul
, иначе вы не сможете отобразить выпадающий список.
Еще одна точка, когда вы использовали absolute
позицию, пожалуйста, убедитесь, что ее родитель имеет относительную позицию.
.flex-container {
margin: auto;
background-color: #ffffff;
min-height: 100%;
}
.header {
background-color: #ffffff;
margin: auto;
height: 100px;
position: relative;
}
.header__logo {
width: 250px;
height: auto;
position: absolute;
top: 10px;
left: 0;
}
.navcontainer {
margin: auto;
background-color: #ffffff;
}
.navcontainer__active {
background-color: #4d4d4d;
}
.navcontainer__dropdown-content {
display: none;
position: absolute;
background-color: #ffffff;
min-width: 160px;
-webkit-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
left: 0; /*New css added */
top: 100%; /*New css added */
}
/*New css added */
.navcontainer__item:hover .navcontainer__dropdown-content {
background-color: #4d4d4d;
display: block;
}
/*New css added */
.navcontainer__dropdown-content a {
display: block;
color: #fff;
text-decoration: none;
padding: 5px 10px;
}
/*New css added */
.navcontainer__dropdown-content a:hover {
color: red;
}
.navcontainer__dropdown-content_dropdown-link {
color: #1a1a1a;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.navcontainer__dropdown:hover .navcontainer__dropdown__dropdown-content {
display: block;
}
.navcontainer__navbar {
list-style-type: none;
margin: 0;
padding: 0;
/*overflow: hidden;*/
background-color: #1a1a1a;
max-width: 95%;
margin: auto;
}
.navcontainer__navbar:after{
content:"";
display: table;
clear: both;
}
.navcontainer__item {
float: left;
position: relative;
}
.navcontainer__link {
display: block;
padding: 8px;
color: #f2f2f2;
text-align: center;
padding: 9px 13px;
text-decoration: none;
}
.navcontainer__link:hover {
background-color: #4d4d4d;
}
.wrapper {
margin: auto;
max-width: 95%;
-webkit-box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, 0.2);
}
body {
background-image: url("/src/images/news.jpg");
background-size: cover;
background-repeat: no-repeat;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<title>News Website</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="./dist/css/styles.css">
<head>
</head>
<body>
<div class="wrapper">
<header class="header">
<img src="src/images/logo.png" class="header__logo" alt="Logo">
</header>
<div class="navcontainer">
<ul class="navcontainer__navbar">
<li class="navcontainer__item navcontainer__active"><a class="navcontainer__link" href="#home">Home</a></li>
<li class="navcontainer__item">
<a class="navcontainer__link navcontainer__dropdown" href="javascript:void(0)">Categories</a>
<div class="navcontainer__dropdown-content">
<a class="navcontainer__dropdown-link" href="#">Politics</a>
<a class="navcontainer__dropdown-link" href="#">Sports</a>
<a class="navcontainer__dropdown-link" href="#">Finance</a>
</div>
</li>
<li class="navcontainer__item"><a class="navcontainer__link" href="#contact">Contact</a></li>
<li class="navcontainer__item"><a class="navcontainer__link" href="#about">About</a></li>
</ul>
</div>
<div class="flex-container">
Hello World!
</div>
</div>
</body>
</html>