有人可以帮助我解决我的代码有什么问题,为什么“管理员”标签下拉菜单不会保留在应有的位置。它应该在admin选项卡下面,但是当您将鼠标放在admin选项卡上时,下拉菜单会显示在admin旁边的选项卡上。我试图为管理员的ul指定一个id但是,没有任何作用。保持不变。非常感谢你!!
HTML代码
<div id="navbar">
<ul>
<li> <a href="admin_home.php">Home</a></li>
<li> <a href="admin_about.php">About us</a></li>
<li> <a href="admin_games_all.php">Games</a>
<ul>
<li> <a href="admin_games_all.php">All Games</a></li>
<li> <a href="admin_games_outdoor.php">Outdoor Games</a></li>
<li> <a href="admin_games_indoor.php">Indoor Games</a></li>
<li> <a href="admin_games_groups.php">Games in Groups</a> </li>
<li> <a href="admin_games_pair.php">Games in Pair</a></li>
</ul>
</li>
<li><a href="admin_tab.php">Admin</a>
<ul id="list">
<li><a href="admin_add.php">Add entry</a></li>
<li><a href="admin_database.php">Passwor request / suggestions</a></li>
</ul>
</li>
<li> <a href="admin_contact_form.php">Contact us</a></li>
<li> <a href="logout.php">Log out</a></li>
</ul>
</div>
CSS代码:
/*CSS Naigation Bar*/
#navbar {
width: 100%;
height: 100%; }
#navbar ul {
width: 90%;
position: fixed;
list-style: none;
padding: 0;
margin: 0;
top: 0;
left: 12.5%;
right: 0;
z-index: 1;}
#navbar ul li {
background-color: black;
opacity: 0.7;
float: left;
height: 25%;
width: 16.5%;
padding: 0;
margin: 0;
font-family: Arial;
font-weight: bold;
font-size: 16.5px;
text-align: center;
line-height: 20px;}
#navbar ul li a {
display: block;
padding: 7% 10%;
text-decoration: none;
color: #E4E4E4;}
#navbar ul li a:hover {
background-color: transparent;
color: white;
text-shadow: 0px 0px 2px white, 0px 0px 2px white, 0px 0px 2px white;}
#navbar ul li ul {
list-style: none;
width: 20%;
padding: 0;
margin: 0;
position: absolute;
display: none;
top: 100%;
left: 32%;
right: 40%;
z-index: 1;}
#navbar ul li ul li {
width: 100%;
float: none;
background-color: black;
opacity: 10;
text-align: center;}
#navbar ul li:hover ul {
display: block;}
#navbar ul li ul #list{
list-style: none;
width: 20%;
padding: 0;
margin: 0;
position: absolute;
display: none;
top: 100%;
left: 50%;
right: 40%;
z-index: 1;}
/*end*/
答案 0 :(得分:1)
将position: relative
添加到父列表项。
#navbar ul li {
position: relative;
}
您可能希望为子列表项添加宽度,因此它是可读的。
#navbar ul li ul li {
width: 150px; /* for example */
}
认为这是你的问题? Here是我创造的小提琴
答案 1 :(得分:1)
删除列表ID;你不需要它;并替换这个css:
#navbar ul li ul {
list-style: none;
width: 100%;
padding: 0;
margin: 0;
position: relative;
display: none;
top: 100%;
left: 0;
right: 0;
z-index: 1;
}
答案 2 :(得分:0)
从#navbar ul li ul
中删除左侧将顶部填充添加到#navbar ul li ul
设置宽度100%#navbar ul li ul
添加相对于#navbar ul li的位置
#navbar ul li {
background-color: black;
opacity: 0.7;
float: left;
height: 25%;
width: 16.5%;
padding: 0;
margin: 0;
font-family: Arial;
font-weight: bold;
font-size: 16.5px;
text-align: center;
line-height: 20px;
position:relative;}
#navbar ul li ul {
list-style: none;
width: 100%;
padding: 0;
margin: 0;
padding-top:10px;
position: absolute;
display: none;
top: 100%;
z-index: 1;}
答案 3 :(得分:0)
参考https://jsfiddle.net/95rqykjx/
CSS更改如下,
#navbar ul li ul, remove width: 20%; and left: 32%;
#navbar ul li add position: relative;
答案 4 :(得分:0)
将position: relative
添加到#navbar ul li
和
left: 0; width: 100%;
至#navbar ul li ul
希望这能解决您的问题。
#navbar {
width: 100%;
height: 100%;
}
#navbar ul {
width: 90%;
position: fixed;
list-style: none;
padding: 0;
margin: 0;
top: 0;
left: 12.5%;
right: 0;
z-index: 1;
}
#navbar ul li {
background-color: black;
opacity: 0.7;
float: left;
height: 25%;
width: 16.5%;
padding: 0;
margin: 0;
font-family: Arial;
font-weight: bold;
font-size: 16.5px;
text-align: center;
line-height: 20px;
position: relative;
}
#navbar ul li a {
display: block;
padding: 7% 10%;
text-decoration: none;
color: #E4E4E4;
}
#navbar ul li a:hover {
background-color: transparent;
color: white;
text-shadow: 0px 0px 2px white, 0px 0px 2px white, 0px 0px 2px white;
}
#navbar ul li ul {
list-style: none;
width: 100%;
padding: 0;
margin: 0;
position: absolute;
display: none;
top: 100%;
left: 0;
right: 40%;
z-index: 1;
}
#navbar ul li ul li {
width: 100%;
float: none;
background-color: black;
opacity: 10;
text-align: center;
}
#navbar ul li:hover ul {
display: block;
}
#navbar ul li ul #list {
list-style: none;
width: 20%;
padding: 0;
margin: 0;
position: absolute;
display: none;
top: 100%;
left: 50%;
right: 40%;
z-index: 1;
}
&#13;
<div id="navbar">
<ul>
<li> <a href="admin_home.php">Home</a></li>
<li> <a href="admin_about.php">About us</a></li>
<li>
<a href="admin_games_all.php">Games</a>
<ul>
<li> <a href="admin_games_all.php">All Games</a></li>
<li> <a href="admin_games_outdoor.php">Outdoor Games</a></li>
<li> <a href="admin_games_indoor.php">Indoor Games</a></li>
<li> <a href="admin_games_groups.php">Games in Groups</a> </li>
<li> <a href="admin_games_pair.php">Games in Pair</a></li>
</ul>
</li>
<li>
<a href="admin_tab.php">Admin</a>
<ul id="list">
<li><a href="admin_add.php">Add entry</a></li>
<li><a href="admin_database.php">Passwor request / suggestions</a></li>
</ul>
</li>
<li> <a href="admin_contact_form.php">Contact us</a></li>
<li> <a href="logout.php">Log out</a></li>
</ul>
</div>
&#13;