在下面的SSCCE中,为什么#sliderArea
div与其上方的#topBar
div重叠,而div
是块级元素?
我预计它会显示在#topBar
下面?
#left-div {
float: left;
}
#right-div {
float: right;
}
a {
margin: 10px;
}
#topBar {
width: 100%;
}
#sliderArea {
background-color: yellow;
width: 100vw;
height: 100vh;
}
#four-cols {
margin: 5px 100px 5px 100px;
}
#col-one {
background-color: orange;
height: 125px;
width: 100px;
display: inline-block;
}
#col-two {
background-color: blue;
height: 125px;
width: 100px;
display: inline-block;
}
#col-three {
background-color: green;
height: 125px;
width: 100px;
display: inline-block;
}
#col-four {
background-color: red;
height: 125px;
width: 100px;
display: inline-block;
}
<div id="topBar">
<div id="left-div">
<a href="#">Login</a>
</div>
<div id="right-div">
<a href="#">Menu One</a>
<a href="#">Menu Two</a>
</div>
</div>
<div id="sliderArea"></div>
<div id="four-cols">
<div id="col-one"></div>
<div id="col-two"></div>
<div id="col-three"></div>
<div id="col-four"></div>
</div>
答案 0 :(得分:4)
答案 1 :(得分:2)
添加到您的CSS:
#topBar {
width: 100%;
overflow: hidden;
}
通过将 overflow:hidden 添加到浮动元素的包装中,浏览器可以计算它的高度。
答案 2 :(得分:2)
由于孩子的float
,您需要添加
#topBar {
width: 100%;
overflow: hidden; <-- add this
}
或
#topBar {
width: 100%;
display: inline-block; <-- add this
}
将clear
floats
答案 3 :(得分:1)