我正在尝试制作一个菜单,其中包含一个带下拉列表的菜单项,但我似乎无法将其完全正确。 我开始将现有的菜单栏与一段代码组合下拉,我已经设法在菜单栏中输入项目,但我不知道如何让菜单栏回到顶端再次,左边还有一个空白。 我的下拉菜单中还有一个额外的空白项目,我不知道如何摆脱它?
有人可以帮助我,我觉得我忽略了什么
.menu-bar {
position: fixed;
width: 100vw;
background-color: #134c95;
color: white;
display: flex;
flex-direction: row;
justify-content: center;
opacity: 0.8;
}
.menu-item {
padding: 10px;
cursor: default;
font-size: 15pt;
margin-left: 15px;
margin-right: 15px;
}
.menu-item:hover,
a:hover {
background-color: white;
cursor: pointer;
color: 234c95;
}
.menu-bar a {
color: white;
}
.menu-bar a:visited {
color: white;
}
.menu-bar a:link,
.menu-bar a:visited {
text-decoration: none;
}
/*
.menu-bar a:hover {
color: #134c95;
}
*/
/* Dropdown Button */
.dropbtn {
background-color: inherit;
color: white;
/* padding: 16px;*/
/* font-size: 16px;*/
border: none;
cursor: pointer;
}
/* The container <div> - needed to position the dropdown content */
/*
.dropdown {
position: fixed;
display: inline-block;
}
*/
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: white;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
/* z-index: 1;*/
}
/* Links inside the dropdown */
.dropdown-content a {
color: #234c95;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {
background-color: 234c95;
color: white;
}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: white;
color: #234c95;
}
&#13;
<div class="menu-bar">
<a href="instructiestest.html">
<div class="menu-item">Welkom</div>
</a>
<a href="instructie2.html">
<div class="menu-item">Aanmelden Portbase</div>
</a>
<a href="instructie3.html">
<div class="menu-item">De App</div>
</a>
<a href="testing.html">
<div class="dropdown">
<button class="dropbtn">
<div class="menu-item">Het team</div>
<div class="dropdown-content">
<a href="http://google.com" target="_blank">Google</a>
<a href="http://facebook.com" target="_blank">Facebook</a>
<a href="http://youtube.com" target="_blank">YouTube</a>
</div>
</button>
</div>
</a>
</div>
&#13;
答案 0 :(得分:0)
从a
项中删除dropdown
标记,如下所示:
<div class="menu-bar">
<a href="instructiestest.html">
<div class="menu-item">Welkom</div>
</a>
<a href="instructie2.html">
<div class="menu-item">Aanmelden Portbase</div>
</a>
<a href="instructie3.html">
<div class="menu-item">De App</div>
</a>
<div class="dropdown">
<button class="dropbtn">
<div class="menu-item">Het team</div>
<div class="dropdown-content">
<a href="http://google.com" target="_blank">Google</a>
<a href="http://facebook.com" target="_blank">Facebook</a>
<a href="http://youtube.com" target="_blank">YouTube</a>
</div>
</button>
</div>
</div>
此外,您的.dropdown-content a:hover
规则在#
属性中遗失了background-color
:
.dropdown-content a:hover {
background-color: #234c95;
color: white;
}
这是一个有效的Fiddle
答案 1 :(得分:0)
某些东西似乎有额外的余量或类似。尝试加载代码,并与检查员核实。它会以漂亮的颜色显示不同的间距类型:https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_the_box_model
答案 2 :(得分:0)
老实说,你可能最好完全重新构建这个菜单。我并不是说要严厉,但代码结构不够好,并且有点混乱。
我刚刚调整了一些代码,以便更轻松地使用它。我不确定你想要实现的是什么,但这里有一些东西可以让你看看:
<强> CSS 强>
#menu-bar {
position: fixed;
width: 100vw;
background-color: #134c95;
padding: 15px;
}
#menu-bar ul {
list-style: none;
padding: 0;
margin: 0;
font-size: 22px;
font-family:sans-serif;
}
#menu-bar ul li {
margin-bottom: 10px;
width: 100%;
}
#menu-bar ul li a {
display: block;
padding: 10px;
color: #fff;
text-decoration: none;
}
#menu-bar ul li a:hover {
color: #134c95;
background-color: #fff;
}
#menu-bar ul li ul {
display: none;
}
#menu-bar ul li:hover ul {
display: block;
}
<强> HTML 强>
<nav id="menu-bar">
<ul>
<li><a href="instructiestest.html">Welkom</a></li>
<li><a href="instructie2.html">Aanmelden Portbase</a></li>
<li><a href="instructie3.html">De App</a></li>
<li class=""><a href="testing.html">Het team</a>
<ul>
<a href="http://google.com" target="_blank">Google</a>
<a href="http://facebook.com" target="_blank">Facebook</a>
<a href="http://youtube.com" target="_blank">YouTube</a>
</ul>
</li>
</ul>
</nav>
正如您所看到的,这更容易理解和遵循。 nav元素的ID就是为子元素设置样式所需的全部内容。
希望这有助于作为一个起点!