HTML 和 CSS 菜单

标签 html css border margin desktop

菜单的 CSS 和 HTML 文件。

@font-face {
    font-family: 'Raleway';
    src: url('Raleway-Light.ttf');
    font-weight: normal;
    font-style: normal;

}

body {
    font-family: Raleway;
    margin: 0;
}

main {
    margin: 0 auto;
    width: 1280px;
}

/*Menu*/

ul#menu {

    margin-bottom: 50px;
    position: relative;
}

label.show-menu {
    display: none;
}

#show-menu {
    display: none;
}


a:visited {
    border: none;
    color: black;
    text-decoration: none;
}


ul#menu > li
{
    display: inline-block;
    list-style-type: none;
    margin: 0;
    margin-left: 80px;
    font-size: 30px;
    min-height: 1px;
    line-height: 1.3em;
    padding: 10px;
}
ul#menu  > ul.hidden {

    position: absolute;
    top: 100%;
    left: 0;
}
ul#menu  > li li.submenu {
    visibility: hidden;
    float: none;
    font-size: 20px;
    margin: 30px;
}

ul#menu > li li:hover {
    border-bottom: 1px solid black;
}

ul#menu > li:first-child:hover {
    border-bottom: 1px solid black;
}

ul#menu  > li:hover li.submenu {

    visibility: visible;
}

ul#menu  > li > ul.hidden > li.submenu {
    margin: 0 10px 0 0;
    position: relative;
    padding: 0;
    float: left;
}
ul#menu  > li > ul.hidden > li.submenu > a {
    padding: 10px 20px 10px 10px;
    display: block;
}

#navinformatie {
    margin-left: 265px;
}

#navverblijf {
    margin-left: 525px;
}

#navbezienswaardigheden {
    margin-left: 650px;
}

#Logo {
    float: left;
    display: inline-block;
    position: absolute;
    width: 56px;
    height: 79px;
}
<header>
   		<label for="show-menu" class="show-menu">Menu</label>
        <input type="checkbox" id="show-menu" role="button">

        <div id="Logo"><img src="logo.png" alt="logo"></div>
            <ul id="menu" class="mobile-top">
                <li class="hoofd"><a href="#">home</a>
                <li class="cheat"><a href="#">informatie</a>
                    <ul class="hidden">
                        <li class="submenu"><a href="#">algemene info</a></li>
                        <li class="submenu"><a href="#">wijken</a></li>
                        <li class="submenu"><a href="#">goed om te weten</a></li>
                    </ul>

                <li class="cheat"><a href="#">verblijf</a>
                    <ul class="hidden">
                        <li class="submenu"><a href="#">hotels</a></li>
                        <li class="submenu"><a href="#">hostels</a></li>
                    </ul>
                <li class="cheat"><a href="#">bezienswaardigheden</a>
                    <ul class="hidden">
                        <li class="submenu"><a href="#">toers</a></li>
                        <li class="submenu"><a href="#">entertainment</a></li>
                        <li class="submenu"><a href="#">musicals</a></li>
                        <li class="submenu"><a href="#">sport</a></li>
                    </ul>
            </ul>
        </header>
        <div style="clear:both;"></div>

我正在努力实现:http://student.howest.be/marnik.bruyndonckx/eindopdrachtweb/Home.html

如您所见,我需要有关显示在菜单子(monad)元素下的第一个列表标记边框的帮助。

Kevin 建议使用 li:first-child 来定位第一个元素并在其下划线,但似乎在这样做之后,现在根本没有边框了。

此外,菜单项之间的边距不正确,没有按应有的方式显示,我做错了什么?

我只想修改 css 文件,而不是 html 菜单。 我猜我目前遇到的这两个问题只会导致我在我的 css 中犯 1-2 个错误?

最佳答案

要定位列表中的第一项,请使用 first-child:

li:first-child { /* override styles here */ }

元素之间的间距是 b/c 你正在使用 display: inline-block。本文应有所帮助:https://css-tricks.com/fighting-the-space-between-inline-block-elements/

关于HTML 和 CSS 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30518034/

相关文章:

javascript - Meteor 如何创建邀请系统

javascript - 显示从jquery到html div标签的值

html - 使用 css 自定义单选按钮

html - 如何消除 CSS 中内联元素之间的间距?

javascript - 当滚动元素底部到达父元素底部时停止 jQuery 固定位置滚动

php - 复选框验证和 float 图像

php - XML 在基于 Web 的应用程序中有何用途?

javascript - 想要在单击时图像周围有边框,并在第二次单击后删除边框

html - CSS 中带百分比的半圆

css - 为什么导航类名称是 navbar-default 而不是 navbar