我有一个由css制作的导航栏,但是当显示导航栏子菜单时,它会将下面的内容推下来
这是指向具有完整代码的codepen的链接 https://codepen.io/muhamedhashem/pen/GqNQaE
HTML
<!DOCTYPE html>
<html>
<head>
<title> </title>
<link href="style.css" rel="stylesheet" />
</head>
<body>
<div class="nav">
<ul>
<li><a href="#">One</a></li>
<li>
<a href="#">
Two
<i class="fa fa-arrow-circle-down"></i>
</a>
<ul>
<li><a href="#">Two #1</a></li>
<li><a href="#">Two #2</a></li>
<li><a href="#">Two #3</a></li>
</ul>
</li>
<li>
<a href="#">
Three
<i class="fa fa-arrow-circle-down"></i>
</a>
<ul>
<li><a href="#">Three #1</a></li>
<li><a href="#">Three #2</a></li>
<li><a href="#">Three #3</a></li>
</ul>
</li>
<li>
<a href="#">
Four
<i class="fa fa-arrow-circle-down"></i>
</a>
<ul>
<li><a href="#">#1</a></li>
<li><a href="#">#2</a></li>
<li><a href="#">#3</a></li>
<li><a href="#">#4</a></li>
</ul>
</li>
<li>
<a href="#">
Five
<i class="fa fa-arrow-circle-down"></i>
</a>
<ul>
<li><a href="#">Five #1</a></li>
<li><a href="#">Five #2</a></li>
<li><a href="#">Five #3</a></li>
</ul>
</li>
</ul>
</div>
<h1> ghjgjh ftfytf fytftyt drdtr rdetrert retretr ee45e ertetr rdrttr retret tdret </h1>
<h1> ghjgjh ftfytf fytftyt drdtr rdetrert retretr ee45e ertetr rdrttr retret tdret </h1>
<h1> ghjgjh ftfytf fytftyt drdtr rdetrert retretr ee45e ertetr rdrttr retret tdret </h1>
<h1> ghjgjh ftfytf fytftyt drdtr rdetrert retretr ee45e ertetr rdrttr retret tdret </h1>
</body>
</html>
CSS
.nav {
width:900px;
margin: 0 auto}
ul{
margin: 0;
padding: 0;
list-style-type:none;
text-align:center;}
ul li{
float:left;
width:180px;}
li ul{ display:none;}
li:hover ul{
display:block;}
ul li a{
display:block;
padding: 5px 15px 5px 15px;
background:#69F;
color:#ffffff;
border-top: 1px solid #FFF;
margin-left:1px;}
ul li a:hover{
background:#F80;
color:#fff}
h1 {
clear:both;
}
答案 0 :(得分:0)
这是因为导航栏本身的高度越来越高。如果您希望导航栏与内容重叠,请查看z-index和绝对显示。
li:hover ul{
position:absolute;
z-index: 10; //can be any number higher than the content's z-index.
width: 180px; //This controls the size of the dropdowns container
display:block;
}
答案 1 :(得分:0)
您的子菜单需要设置为绝对位置,您的父LI需要设置为相对位置。您应将可见性设置为隐藏,然后将其显示为:悬停。这种方法不会压低内容。
此外,您需要确保将宽度设置为ul li ul&lt; ---子菜单。