html - 如何将下拉菜单添加到导航菜单
问题描述
我想以下拉菜单的形式将子菜单添加到我现有的导航菜单中。下面是我现有的 html 和 css 导航菜单代码。当用户将鼠标悬停在它上面时,我希望它下拉。这是当用户将鼠标移到元素上时出现的下拉菜单。请我不希望您向我提供链接,我只希望您修改我的代码。欧比
.menu {
border-bottom: 5px solid #00cc99;
}
.toggleMenu {
display: none;
background: #666;
padding: 10px 15px;
width: 100%;
color: #fff;
}
.top-nav{
background: #339933;
}
.nav {
list-style: none;
*zoom: 1;
width:79%;
float:left;
}
.nav:before,
.nav:after {
content: " ";
display: table;
}
.nav:after {
clear: both;
}
.nav ul {
list-style: none;
width: 9em;
}
.nav a {
color: #FFF;
font-size: 17px;
}
.nav li.active> a, .nav li> a:hover {
color:#FA6210;
}
.nav li {
position: relative;
padding: 10px 70.5px;
font-family: 'Open Sans', sans-serif;
}
.nav > li {
float: left;
}
.nav > li > a {
display: block;
}
.nav li ul {
position: absolute;
left: -9999px;
}
.nav > li.hover > ul {
left: 0;
}
.nav li li.hover ul {
left: 100%;
top: 0;
-webkit-transition: background .2s linear;
-moz-transition: background .2s linear;
-ms-transition: background .2s linear;
-o-transition: background .2s linear;
transition: background .2s linear;
}
<div class="menu">
<div class="wrap">
<div class="top-nav">
<ul class="nav">
<li class="active"><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="blog.html">Blog</a></li>
<li><a href="contact.html">Contact</a></li>
<div class="clear"></div>
</ul>
</div>
</div>
</div>
解决方案
看一下这个。我注意到您试图通过来回移动菜单来显示这一点。您可以使用“显示:无;” 实现你正在做的事情,并将其设置为“显示:块;” 当父 li 元素悬停时。
这是您的代码 - 我只注释掉了一些内容,并添加了一些其他内容。
.menu {
border-bottom: 5px solid #00cc99;
}
.toggleMenu {
display: none;
background: #666;
padding: 10px 15px;
width: 100%;
color: #fff;
}
.top-nav {
background: #339933;
}
.nav {
list-style: none;
*zoom: 1;
width: 79%;
float: left;
}
.nav:before,
.nav:after {
content: " ";
display: table;
}
.nav:after {
clear: both;
}
.nav ul {
list-style: none;
width: 9em;
}
.nav a {
color: #FFF;
font-size: 17px;
}
.nav li.active>a,
.nav li>a:hover {
color: #FA6210;
}
.nav li {
position: relative;
/* padding: 10px 70.5px; */
font-family: 'Open Sans', sans-serif;
}
.nav>li {
float: left;
}
.nav>li>a {
display: block;
}
.nav li ul {
position: absolute;
/* left: -9999px; */
}
.nav>li.hover>ul {
left: 0;
}
.nav li li.hover ul {
left: 100%;
top: 0;
-webkit-transition: background .2s linear;
-moz-transition: background .2s linear;
-ms-transition: background .2s linear;
-o-transition: background .2s linear;
transition: background .2s linear;
}
.hidden {
display: none;
}
ul.nav li:hover .hidden {
display: block;
}
<div class="menu">
<div class="wrap">
<div class="top-nav">
<ul class="nav">
<li class="active"><a href="index.html">Home</a>
<div class="hidden">
<ul>
<li>Sample item #1</li>
<li>Sample item #2</li>
<li>Sample item #3</li>
</ul>
</div>
</li>
<li><a href="about.html">About</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="blog.html">Blog</a></li>
<li><a href="contact.html">Contact</a></li>
<div class="clear"></div>
</ul>
</div>
</div>
</div>
</div>
推荐阅读
- ios - iPhone模拟器的Apple M1问题
- python - 无法上传和显示 django 表单
- c# - 右对齐自定义货币datagridview
- wordpress - 无法在 Safari 上访问 WordPress 网站
- google-cloud-dlp - 错误:在 KmsWrappedCryptoKey 中,“crypto_key_name”:必须来自位置“全局”
- node.js - 从部署在 GCP 中的 Node JS 应用程序调用经过身份验证的 HTTP 云函数的最佳方法是什么?
- android - 如何在 Android 上创建 Pin 键盘
- ios - 运行 react-native run-ios --simulator='iPhone 11' 后反应原生错误
- node.js - 更新另一个人的收集统计信息的并发问题
- html - 如何保持相同的伪元素位置