CSS下拉导航栏

时间:2015-11-30 08:38:11

标签: html css

有人可以帮助我解决我的代码有什么问题,为什么“管理员”标签下拉菜单不会保留在应有的位置。它应该在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*/

5 个答案:

答案 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;}

小提琴: http://jsfiddle.net/f3sokdxt/

答案 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 lileft: 0; width: 100%;#navbar ul li ul

希望这能解决您的问题。

&#13;
&#13;
#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;
&#13;
&#13;