【发布时间】:2018-03-20 07:16:38
【问题描述】:
我是 HTML5 和 CSS3 的新手,尤其是 flexbox。请帮我删除正文和页脚之间不需要的空间。
我在 stackoverflow 和 google 中查看了这里,但没有任何效果。他们都建议检查我的利润,我确实检查了所有这些但无济于事。尝试为大多数 div 调整边距、填充和边框,但我仍然找不到罪魁祸首。
index.html
<body>
<div>
<ul class="header flex-container">
<li class="nav flex-item">About</li>
<li class="nav flex-item">Links</li>
<li class="nav flex-item">Contact</li>
</ul>
</div>
<div class="content flex-container">
<div class="sidebar flex-item">Sidebar</div>
<div class="main flex-item">
This is the content<br />
This is the content<br />
This is the content<br />
This is the content<br />
</div>
<div class="sidebar flex-item">Sidebar</div>
</div>
</body>
<footer>footer here</footer>
style.css
body{
margin: 0px;
font-family: sans-serif;
}
.flex-container{
/* flexbox properties*/
display: -webkit-flex;
-webkit-flex-direction: row;
}
.flex-item{
/*flexbox properties*/
display: -webkit-flex;
align-items: center;
justify-content: center;
}
.header{
height: 50px;
background-color: tomato;
margin: 0;
border-bottom: 3px solid rgba(0,0,0,0.3);
}
ul{
justify-content: flex-end;
}
.nav{
flex-direction: row;
margin: 2px;
padding: 0 10px 0 10px;
background-color: rgba(0,0,0,0.2);
color: white;
}
.content{
height: 300px;
margin: 0;
}
.sidebar{
background-color: grey;
flex: 1;
}
.main{
background-color: lightgrey;
flex: 2;
}
footer{
height: 50px;
border-top: 3px solid rgba(0,0,0,0.3);
background-color: tomato;
}
编辑:这是我在 Firefox 中得到的。此外,按照其中一个 cmets 中的建议,将页脚移动到 body 标记内。
编辑 2:我将代码复制到 Codepen 并看到了这些奇怪的字符。当我删除它们时,它解决了我的问题。但是看看我的编辑器(我已经尝试过 Sublime 和 Notepad++),没有特殊字符!!!这真让我抓狂。
【问题讨论】:
-
我无法重现该问题,我没有空间。 jsfiddle.net/461gac7L 。这是否发生在特定浏览器上?
-
footer应该在body标签内 -
@SuperUser 试过了,没用
-
@OvidiuUnguru 我不知道为什么。我正在使用 Chrome
标签: html css header margin footer