CSS重置边距问题.我不能去掉边距



我的问题是,我有一个应该占据整个页面顶部的标题,但由于某种原因,两边都有空白。我尝试了* margin:0 padding:0,但不工作。当我添加div.container时,边距出现了。我添加。container是因为当我扩展页面时,我想让我的名字和导航保持在中间,与两边留出一些空间。就像我分享的那张没有空白/空白的图片。我希望我能解释清楚谢谢你的帮助谢谢。

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: black
}
html {
font-family: 'Space Mono', monospace, sans-serif;
}
#navbar {
background-color: yellow;
color: black;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 2rem 0.75rem 1rem;
}
#navbar ul {
list-style-type: none;
display: flex;
align-items: center;
}
#navbar ul li a {
padding-left: 0.75rem;
}
.container {
max-width: 1100px;
margin: 0 auto;
<html>
<head>
</head>
<body>
<header>
<div class="container">
<nav id="navbar">
<h1 class="">Hayden Dominic Christiansen</h1>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#portfolio">Portfolio</a></li>
<li><a href="#bio">Bio</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div>
</header>
</body>
</html>

添加标题的颜色。见下文:

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: black
}
html {
font-family: 'Space Mono', monospace, sans-serif;
}
header { background: yellow; }

#navbar {
color: black;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 2rem 0.75rem 1rem;
}
#navbar ul {
list-style-type: none;
display: flex;
align-items: center;
}
#navbar ul li a {
padding-left: 0.75rem;
}
.container {
max-width: 1100px;
margin: 0 auto;
<html>
<head>
</head>
<body>
<header>
<div class="container">
<nav id="navbar">
<h1 class="">Hayden Dominic Christiansen</h1>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#portfolio">Portfolio</a></li>
<li><a href="#bio">Bio</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div>
</header>
</body>
</html>

你可能需要在body标签上添加边距和内边距。

body{
margin:0;
padding:0;
box-sizing: border-box;
} 
a{
text-decoration: none;
color:black
}
header {
width: 100%;
}
html{
font-family: 'Space Mono', monospace,sans-serif;
}
#navbar{
background-color: yellow;
color: black;
display: flex;
justify-content: space-between;
align-items: center;
padding:0.75rem 2rem 0.75rem 1rem;

}
#navbar ul{
list-style-type: none;
display: flex; 
align-items: center;
}
#navbar ul li a {
padding-left: 0.75rem;
}
</head>
<body>

<header>
<div class="container"> 
<nav id="navbar">
<h1 class="">Hayden Dominic Christiansen</h1>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#portfolio">Portfolio</a></li>
<li><a href="#bio">Bio</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div> 
</header>
</body>
</html>

从container选择器中移除max-width属性,因为它将导航条的宽度固定为1100px。删除它将解决你的问题。

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: black
}
html {
font-family: 'Space Mono', monospace, sans-serif;
}
#navbar {
background-color: yellow;
color: black;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 2rem 0.75rem 1rem;
}
#navbar ul {
list-style-type: none;
display: flex;
align-items: center;
}
#navbar ul li a {
padding-left: 0.75rem;
}
.container {
/* max-width: 1100px; Remove this line as it is fixing the navbar to a max of 1100px */
margin: 0 auto;
}
<html>
<head>
</head>
<body>
<header>
<div class="container">
<nav id="navbar">
<h1 class="">Hayden Dominic Christiansen</h1>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#portfolio">Portfolio</a></li>
<li><a href="#bio">Bio</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div>
</header>
</body>
</html>

那么试试这个header.container {margin: 0 !important; padding: 0 >!important}

然后丢了你的工作首先,如果你发现自己在自己的风格中使用了important,那你就做错了。其次,他的容器是一个div,div没有任何默认的边距或填充-没有什么可以设置为0。

如果您不希望在容器类中添加空白,请尝试添加

.container {
margin: 0;
padding: 0
}

最新更新