我想有一个同样风格的下拉子菜单,我知道这很简单,但我仍然是制作网站的新手,我自己无法弄明白。
这是我的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;}
下面是一张如何看待它的图片:
正常:http://gyazo.com/8f6553245b736feee8cc5ebf8d4a030c 悬停在“catalogus”上时:http://gyazo.com/662eee4bbbb2ea2318925be76b3722d2
答案 0 :(得分:0)
不要自己动手。我使用这个jquery插件,它很棒:
答案 1 :(得分:0)
如果您遇到任何问题,我建议您先进行谷歌搜索。这是一个发电机(只需选择你想要的发电机并遵循说明): Css drop down menu maker
我还建议您实际学习语言并扩展您的知识,并在将问题发布到此处之前使用Google搜索。
答案 2 :(得分:0)
HTML:
<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>
CSS:
nav {
margin: -20px 0px 0px 0px;
text-align: center;}
nav ul ul {
display: none;
padding-right: 8px;}
nav ul li:hover > ul {
display: block;}
nav ul {
background-color: red;
border: 1px solid black;
list-style: none;
position: relative;
display: inline-table;}
nav ul:after {
content: ""; clear: both; display: block;}
nav ul li {
float: left;}
nav ul li:hover a {
color: #999999;}
nav ul li a {
display: block;
padding-left: 1em;
padding-right: 1em;
font-size: 12px;
font-family: Arial, Helvetica, sans-serif;
text-decoration: none;
color: lightgray;}
nav ul ul {
background: #5f6975; border-radius: 0px; padding: 0;
position: absolute; top: 100%;}
nav ul ul li {
float: none; position: relative;padding: 10px;}
nav ul ul li a {
color: #fff;}
nav ul ul ul {
position: absolute; left: 100%; top:0;}
答案 3 :(得分:0)
你几乎得到了它。我只对CSS进行了一些小改动,以使其有效。
nav ul li { display: inline-block; height: 100%; }
而不仅仅是display: inline
是必需的,以便每个<li>
占据“菜单”的所有高度,否则<li>
的底部之间会有一个小的间隙1}}以及从: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-item
或block
,其中包含:
nav ul ul li {
display: block;
}