下拉菜单并不是我想要的

时间:2017-02-01 14:40:06

标签: html css drop-down-menu

我正在尝试制作一个菜单,其中包含一个带下拉列表的菜单项,但我似乎无法将其完全正确。 我开始将现有的菜单栏与一段代码组合下拉,我已经设法在菜单栏中输入项目,但我不知道如何让菜单栏回到顶端再次,左边还有一个空白。 我的下拉菜单中还有一个额外的空白项目,我不知道如何摆脱它?

有人可以帮助我,我觉得我忽略了什么



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

3 个答案:

答案 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就是为子元素设置样式所需的全部内容。

希望这有助于作为一个起点!