我是 CSS 和 HTML 的初学者。目前我真的被下拉菜单困住了,我已经搜索了 HOURS 的答案,但我找不到错误。如果我把“position:relative”子菜单显示在导航栏内,但它应该显示在外面。如果我离开“position:absolute”,两个
HTML
<body>
<nav>
<ul class="topnav">
<li style="float: right;"><h1>CH</h1></li>
<li><a class="active" href="index.html">Home</a></li>
<li><a href="#">CV</a></li>
<li><a href="#">Studium</a></li>
<li><a href="#">Persönlich</a>
<ul class="subnav">
<li><a href="umfeld.html">Umfeld</a></li>
<li><a href="interessen.html">Interessen</a></li>
<!--<ul class="subsubnav">
<li><a href="Interessen/sport.html">Sport</a></li>
<li><a href="Interessen/musik.html">Musik</a></li>
</ul>
</li>-->
</ul></li>
</ul>
</nav>
CSS `
/*nav*/
nav ul{
list-style-type: none;
margin: 0;
padding: 0;
width: 100%;
background: #99ddff;
}
nav li {
display: inline-block;
position: relative;
}
nav a {
display: block;
text-decoration: none;
font-family: "Raleway", Tahoma, sans-serif;
color: #4d4d4d;
padding: 1em;
}
nav a:hover {
color: #ffffff;
}
.active {background: #90bed5;
color: #ffffff;
}
/*Dropdown Menu*/
ul.subnav {
display: block;
width: auto;
height: auto;
}
ul.subnav li {
display: none;
position: relative;
}
ul.subnav li a {
padding: 0.2em 1em 1em 0;
border-bottom: solid white;
white-space: nowrap;
}
ul.subnav li:hover {
display: block;
position: absolute;
}
<!-- begin snippet: js hide: false console: true babel: false -->
如果有人能提供帮助,我会很高兴。 非常感谢您! 西西
最佳答案
你想隐藏 ul.subnav
(不仅仅是 li
),当你将鼠标悬停在 li 上时,定位 CSS 以显示隐藏的子导航
具有嵌套子导航的元素。
/*nav*/
nav ul{
list-style-type: none;
margin: 0;
padding: 0;
width: 100%;
background: #99ddff;
}
nav li {
display: inline-block;
position: relative;
}
nav a {
display: block;
text-decoration: none;
font-family: "Raleway", Tahoma, sans-serif;
color: #4d4d4d;
padding: 1em;
}
nav a:hover {
color: #ffffff;
}
.active {background: #90bed5;
color: #ffffff;
}
/*Dropdown Menu*/
ul ul {
display: none;
width: auto;
height: auto;
}
ul ul li a {
padding: 0.2em 1em 1em 0;
border-bottom: solid white;
white-space: nowrap;
}
li:hover > ul {
display: block;
position: absolute;
}
<body>
<nav>
<ul class="topnav">
<li style="float: right;"><h1>CH</h1></li>
<li><a class="active" href="index.html">Home</a></li>
<li><a href="#">CV</a></li>
<li><a href="#">Studium</a></li>
<li><a href="#">Persönlich</a>
<ul>
<li><a href="umfeld.html">Umfeld</a></li>
<li><a href="interessen.html">Interessen</a>
<ul>
<li><a href="Interessen/sport.html">Sport</a></li>
<li><a href="Interessen/musik.html">Musik</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
关于css - 下拉菜单 CSS 扇区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41642106/