gpt4 book ai didi

html - 如何添加水平子菜单?

转载 作者:行者123 更新时间:2023-11-28 12:09:17 25 4
gpt4 key购买 nike

我想要一个相同样式的下拉子菜单,我知道这很简单,但我对制作网站还是个新手,我自己弄不明白。

这是我的 HTML 文件的顶部:

    <!DOCTYPE html>
<html>
<head>
<title>Startpagina</title>
<LINK href="../CSS/stylesheet.css" rel=stylesheet>
</head>
<body>
<div class="schikking">
<img src="../Images/bibram.png" alt="Logo van de bib" height="90" width="170">
<!-- navigatie -->
<nav>
<ul>
<li><a href="./index.html"><span class ="s2">Startpagina</span></a></li>
<li><a href="./aanwinsten.html">Aanwinsten</a></li>
<li><a href="./catalogus.html">Catalogus</a>
<ul class="sub">
<li><a href="#">Pages</a></li>
<li><a href="#">Archives</a></li>
<li><a href="#">New Posts</a></li>
</ul>
</li>
<li><a href="./uitlening.html">Uitlening</a></li>
<li><a href="./reservatie.html">Reservatie</a></li>
<li><a href="./suggestie.html">Suggestie</a></li>
<li><a href="./contact.html">Contact</a></li>
</ul>
</nav>

还有我的 CSS 文件的很大一部分:

.schikking {
margin: 0 auto;
padding: 30px 0px 0px 0px;
max-width: 1010px;
}

.content {
background-color: red;
background-color: rgba(147, 4, 0, 0.84);
border: 1px solid black;
}

nav li
{
display: inline;
padding-right: 8px;

}
nav {
text-align: center;
margin: -20px 0px 0px 0px;

}
nav ul{
background-color: rgba(126, 4, 0, 0.79);
border: 1px solid black;


}
nav ul li{
display: inline;

}
nav ul li a{
padding-left: 1em;
padding-right: 1em;
font-size: 12px;
font-family: Arial, Helvetica, sans-serif;
text-decoration: none;
color: lightgray;
}
nav ul li a:hover{
color: #999999;

}

nav ul ul{display: none; position: relative;}
nav li ul li{float:none;display: inline-block; }
nav ul li:hover ul {display: inline-block;}

这是它在 atm 上的样子的图片:

正常:http://gyazo.com/8f6553245b736feee8cc5ebf8d4a030c将鼠标悬停在“目录”上时:http://gyazo.com/662eee4bbbb2ea2318925be76b3722d2

最佳答案

你差不多明白了。我只对 CSS 做了一些小改动以使其正常工作。

nav ul li { display: inline-block; height: 100%; }而不仅仅是 display: inline是必需的,以便每个 <li>占据了“菜单”的所有高度否则<li>底部之间有一个小间隙和将取消 :hover 的子菜单事件因为你不在<li> . inline元素没有height (或 width ),所以改为 display: inline-block .

最后的 CSS 是其他更改所在的地方。您的代码是:

nav ul ul{display: none; position: relative;}
nav li ul li{float:none;display: inline-block; }
nav ul li:hover ul {display: inline-block;}

显示代码不需要超过

nav ul li:hover ul {
display: block;
}

但是要将子菜单定位在其正常流程之外(当前显示在父菜单项旁边),您需要向子菜单添加一个绝对位置。

nav ul ul {
display: none;
position: absolute;
}

如果你想要一个水平菜单,那应该是所有需要的改变,因为你的规则 nav ul li { display: inline-block; }将已经应用于子菜单列表项。如果你想要垂直菜单,你需要重置display回到默认 list-itemblock与:

nav ul ul li {
display: block;
}

See demo

关于html - 如何添加水平子菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19586178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com