我的html文档中的内容与我的导航栏重叠。
我尝试在css中为.main-nav
添加边距,但它没有用。
示例代码有" Hello World"在我的导航栏上。我希望有一个新的部分从主导航栏正下方开始,而不使用
.main-nav{
float:right;
list-style: none;
margin-top: 25px;
margin-bottom: 50px;
}
.main-nav li{
display: inline-block;
margin-left: 15px;
}
.section-test{
margin-top: 200px;
}

<body>
<nav>
<div class="row">
<img src="{% static 'resources/img/logo-transparent.png' %}" class="logo" alt=" Logo">
<ul class="main-nav">
<li><a href="#">About</a></li>
<li><a href="#">Log In</a></li>
<li><a href="#">Get a Demo</a></li>
</ul>
</div>
</nav>
<section class="section-test">
<h3>hello world</h3>
</section>
</body>
&#13;
答案 0 :(得分:2)
在部分测试类
上使用clear:both;
/* Styles go here */
.main-nav{
float:right;
list-style: none;
margin-top: 25px;
margin-bottom: 50px;
}
.main-nav li{
display: inline-block;
margin-left: 15px;
}
.section-test{
clear: both;
}
&#13;
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<nav>
<div class="row">
<img src="{% static 'resources/img/logo-transparent.png' %}" class="logo" alt=" Logo">
<ul class="main-nav">
<li><a href="#">About</a></li>
<li><a href="#">Log In</a></li>
<li><a href="#">Get a Demo</a></li>
</ul>
</div>
</nav>
<section class="section-test">
<h3>hello world</h3>
</section>
</body>
</html>
&#13;
答案 1 :(得分:0)
当您在float: right
元素上使用nav
时,它已不在流程中。这意味着nav
家长并未将其高度考虑在内。
这里有多个解决方案。第一个是将overflow:hidden
应用于nav元素以强制它增长,使用Punith Jain提到的清晰元素,或者使用flexbox简化标记并摆脱浮动! / p>
.row {
display: flex;
}
.main-nav{
text-align: right;
flex: 1;
}
.main-nav li{
display: inline-block;
margin-left: 15px;
}
&#13;
<nav>
<div class="row">
<img src="{% static 'resources/img/logo-transparent.png' %}" class="logo" alt=" Logo">
<ul class="main-nav">
<li><a href="#">About</a></li>
<li><a href="#">Log In</a></li>
<li><a href="#">Get a Demo</a></li>
</ul>
</div>
</nav>
<section>
<h3>hello world</h3>
</section>
&#13;