繁体   English   中英

CSS 下拉导航栏

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM