gpt4 book ai didi

html - 我的导航下方有一小块空间

转载 作者:太空宇宙 更新时间:2023-11-03 19:57:35 24 4
gpt4 key购买 nike

为什么我的导航下方有一个小空间。我已将导航的边距设置为 0 及其下方的所有内容。空间仍然没有消失。这是我的标记。

<!DOCTYPE html>
<html>
<head>
<title>HTML5</title>
<style>
body{
width: 964px;
background-color: white;
margin: 0 auto;
border: 1px solid black;
font-family: sans-serif;
}

nav{
width: 964px;
background-color: blue;
margin: 0;
}

nav ul {
list-style-type: none;
padding: 0;
margin: 0;
}

nav ul li {
display: inline-block;
float: left;
}
nav ul li a{
display: inline-block;
padding: 10px;
text-decoration: none;
color: #fff;
background-color: blue;
}

nav ul li a:hover{
background-color: #00a;
}

header{
text-align: center;
background-color: orange;
}

header h1{
margin: 0;
padding: 20px;
}

aside{
float: left;
width: 180px;
height: 500px;
background-color: red;
}

aside ul{
list-style-type: none;
padding-left: 15px;
}

aside ul li a{
display: inline-block;
text-decoration: none;
background-color: #080;
padding: 5px;
width: 139px;
color: white;
border-bottom: 1px solid black;
}

aside ul li a:hover{
background-color: #050;
}

section{
height: 500px;
width: 964px;
background-color: green;
}

footer{
clear: both;
background-color: yellow;
text-align: center;
padding: 5px;
}

.clearfix:after{
content: " ";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}

.clearfix{
display: inline-block;
}
</style>
</head>
<body>
<header><h1>Header</h1></header>
<nav class="clearfix">

<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#">ABOUT</a></li>
</ul>
</nav>
<aside>
<ul>
<li><a href="#">Champions</a></li>
<li><a href="#">Runes</a></li>
<li><a href="#">Skins</a></li>
<li><a href="#">Masteries</a></li>
</ul>
</aside>
<section></section>
<footer>footer</footer>
</body>
</html>

我只是想消除导航和旁边之间的空间,但是在导航附近的每个容器上放置 margin: 0 是行不通的。

最佳答案

:after 是一个伪元素,它告诉浏览器在内容之后的元素内呈现一个伪元素。

.clearfix:after{
content: "";
display: block;
clear: both;
}

这是一个 block 元素,这意味着它占据了父元素的整个宽度。但是,以下规则使伪元素的父元素 .clearfix 成为内联 block 元素。这意味着该元素将只占用其内容所需的最小宽度。

.clearfix{
display: inline-block;
}

您看到空格是因为行内 block 元素被呈现为内联单词,元素两侧的空白被呈现为单个空格。您可以使用以下任一方法解决此问题。

  • 删除内联 block 规则

    ( Demo )

    .clearfix{
    display: inline-block;
    }
  • 或者,将父级的字体大小设置为 0,然后将所有直接子级的字体大小设置为基本字体大小。

    ( Demo )

    body {
    font-size: 0;
    }
    body > * {
    font-size: 1rem;
    }

关于html - 我的导航下方有一小块空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com