菜单的 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/