以下是我从codepen中获取的代码:http://codepen.io/rags4developer/pen/ONoBpm
请帮我解决这些问题。
HTML:
<body>
<div id="container">
<div id="nav">nav links 1,2,3 etc</div>
<div id="main">
<!--no text here-->
<div id="left">left panel</div>
<div id="right">right panel</div>
</div>
<div id="footer">footer</div>
</div>
</body>
CSS:
* {box-sizing: border-box;}
html {height: 100%;}
body {height: 100%;}
#container {
border: 8px solid yellow;
height: 100%;
width: 80%;
margin: 0 auto;
}
#nav {
border: 4px solid red;
height: 15%;
}
#main {
border: 4px solid black;
height: 100%;
background: gray;
}
#left {
border-top: 4px solid green;
border-left: 4px solid green;
border-bottom: 4px solid green;
float: left;
width: 15%;
height:100%;
/*I will make this gradient later*/
background: #9e9999;
}
#right {
border: 4px solid blue;
float: right;
width: 85%;
height: 100%;
border-radius: 20px 0 0 0;
background: white;
}
#footer {
border: 4px solid pink;
clear: both;
}
答案 0 :(得分:1)
我不完全确定我是否理解正确,但你的高度(即#container
div内的高度)加起来为15%+ 100%+页脚高度=至少115% #container
高度加上页脚高度,导致&#34;溢出&#34;。
我将#content
高度更改为80%
并将height: 5%;
添加到您的codepen的这个分支中的页脚:http://codepen.io/anon/pen/EKeOdm
现在一切都在#container
之内。这是你想要的吗?
答案 1 :(得分:0)
clearfix 解决方案仍适用于浮动元素IMO。尝试删除高度样式并添加:
#main:before,
#main:after {
display: table;
content: "";
}
#main:after {
clear: both;
}
答案 2 :(得分:0)
使用显示表应该解决这个问题。
#container {
border: 8px solid yellow;
height: 100%;
width: 80%;
margin: 0 auto;
**display: table;**
}
#content {
border: 4px solid black;
background: gray;
height: 100%;/*Not sure 100% of what ? Parent ???*/
**display: table-row;**
}