我的导航栏和它下面的 div 之间无法解释的垂直间隙
Unexplainable vertical gap between my navbar and the div below it
我的导航元素和它下面的 div 元素之间目前存在无法解释的差距。
在上述间隙上使用检查元素让我参考 body。这意味着在这个差距中几乎没有任何东西。我已经使用 Chrome 开发人员工具来检查 html 文件中已经存在的每个元素的边距和填充,据我所知,确实没有任何东西应该导致间隙。
这是代码。 运行 新 window 中的代码片段最好:
/* Load required font faces */
@font-face {
font-family: Nunito;
src: url("../fonts/Nunito/Nunito-Regular.ttf") format('truetype');
font-weight: normal;
}
/* CSS for text */
p, a, h1, h2, h3 {
font-family: Nunito;
}
/* CSS Styles for body */
body {
margin: 0 !important;
}
/* CSS Styles for the Navbar */
nav {
height: 8vh;
padding: 0% 2% 0% 2%;
background-image: linear-gradient(to right, #00B9FF, #9316FF);
}
nav a {
color: white;
font-size: 1.5em;
text-decoration: none;
}
nav a:hover {
color: #adadad;
}
#nav-wrapper {
height: 100%;
display: flex;
align-items: center;
}
#nav-content {
width: 100%;
}
.nav-logo {
float: left;
}
#nav-navigation {
width: 20%;
float: right;
margin: 0;
}
.nav-button {
display: inline-block;
margin: 0% 2% 0% 2%;
}
/* CSS for the page header */
#page-header {
height: 9vh;
background-color: #F3F3F3;
}
<html>
<head>
<title>Webpage</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<!-- Navbar -->
<nav>
<div id="nav-wrapper" class="align-middle">
<div id="nav-content">
<!-- Company name on the left of navbar -->
<div class="nav-logo">
<a href="./">Company Name</a>
</div>
<!-- Navigation buttons for the navbar -->
<ul id="nav-navigation">
<li class="nav-button">
<a href="./">Nav 1</a>
</li>
<li class="nav-button">
<a href="./">Nav 2</a>
</li>
<li class="nav-button">
<a href="./">Nav 3</a>
</li>
<li class="nav-button">
<a href="./">Nav 4</a>
</li>
<li class="nav-button">
<a href="./">Nav 5</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Main content -->
<div id="page-header">
<div>
<div>
<p>About Company Name</p>
</div>
<div>
<p>Over here at company....</p>
</div>
</div>
</div>
</body>
</html>
欢迎任何帮助。谢谢。
您的 p 元素上有边距。这就是造成你差距的原因。如果您设置新的 css 规则:
p {
margin-top:0;
}
甚至:
p {
margin:0;
}
然后它将按预期工作。至少 - 它对我有用 运行 你的代码片段 - 你的页面上可能还有其他东西这样做,但我认为值得一试。
永远记得重置浏览器默认设置的规则。典型的重置是
* {
margin: 0,
padding: 0,
box-sizing: border-box,
}
“page-header”div 中的“p”元素导致了间隙。元素可能有默认边距或填充。您可以像这样在 css 文件的开头重置所有默认边距和填充:
* {
margin: 0;
padding: 0;
}
或者您可以 select 某个“p”元素并移除其边距。
我的导航元素和它下面的 div 元素之间目前存在无法解释的差距。
在上述间隙上使用检查元素让我参考 body。这意味着在这个差距中几乎没有任何东西。我已经使用 Chrome 开发人员工具来检查 html 文件中已经存在的每个元素的边距和填充,据我所知,确实没有任何东西应该导致间隙。
这是代码。 运行 新 window 中的代码片段最好:
/* Load required font faces */
@font-face {
font-family: Nunito;
src: url("../fonts/Nunito/Nunito-Regular.ttf") format('truetype');
font-weight: normal;
}
/* CSS for text */
p, a, h1, h2, h3 {
font-family: Nunito;
}
/* CSS Styles for body */
body {
margin: 0 !important;
}
/* CSS Styles for the Navbar */
nav {
height: 8vh;
padding: 0% 2% 0% 2%;
background-image: linear-gradient(to right, #00B9FF, #9316FF);
}
nav a {
color: white;
font-size: 1.5em;
text-decoration: none;
}
nav a:hover {
color: #adadad;
}
#nav-wrapper {
height: 100%;
display: flex;
align-items: center;
}
#nav-content {
width: 100%;
}
.nav-logo {
float: left;
}
#nav-navigation {
width: 20%;
float: right;
margin: 0;
}
.nav-button {
display: inline-block;
margin: 0% 2% 0% 2%;
}
/* CSS for the page header */
#page-header {
height: 9vh;
background-color: #F3F3F3;
}
<html>
<head>
<title>Webpage</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<!-- Navbar -->
<nav>
<div id="nav-wrapper" class="align-middle">
<div id="nav-content">
<!-- Company name on the left of navbar -->
<div class="nav-logo">
<a href="./">Company Name</a>
</div>
<!-- Navigation buttons for the navbar -->
<ul id="nav-navigation">
<li class="nav-button">
<a href="./">Nav 1</a>
</li>
<li class="nav-button">
<a href="./">Nav 2</a>
</li>
<li class="nav-button">
<a href="./">Nav 3</a>
</li>
<li class="nav-button">
<a href="./">Nav 4</a>
</li>
<li class="nav-button">
<a href="./">Nav 5</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Main content -->
<div id="page-header">
<div>
<div>
<p>About Company Name</p>
</div>
<div>
<p>Over here at company....</p>
</div>
</div>
</div>
</body>
</html>
欢迎任何帮助。谢谢。
您的 p 元素上有边距。这就是造成你差距的原因。如果您设置新的 css 规则:
p {
margin-top:0;
}
甚至:
p {
margin:0;
}
然后它将按预期工作。至少 - 它对我有用 运行 你的代码片段 - 你的页面上可能还有其他东西这样做,但我认为值得一试。
永远记得重置浏览器默认设置的规则。典型的重置是
* {
margin: 0,
padding: 0,
box-sizing: border-box,
}
“page-header”div 中的“p”元素导致了间隙。元素可能有默认边距或填充。您可以像这样在 css 文件的开头重置所有默认边距和填充:
* {
margin: 0;
padding: 0;
}
或者您可以 select 某个“p”元素并移除其边距。