[英]CSS dropdown navigation bar
有人可以帮助我我的代码有什么问题,为什么“管理员”选项卡下拉菜单没有停留在它应该在的地方。 它应该在 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*/
添加position: relative
对于父列表项。
#navbar ul li {
position: relative;
}
并且您可能希望为子列表项添加宽度,以便它是可读的。
#navbar ul li ul li {
width: 150px; /* for example */
}
认为那是你的问题? 这是我创建的小提琴
删除列表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;
}
从#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;}
小提琴: http : //jsfiddle.net/f3sokdxt/
参考https://jsfiddle.net/95rqykjx/
CSS 变化如下, #navbar ul li ul, remove width: 20%; and left: 32%; #navbar ul li add position: relative;
#navbar ul li ul, remove width: 20%; and left: 32%; #navbar ul li add position: relative;
添加position: relative
对于#navbar ul li
and left: 0; width: 100%;
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; }
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.