好的,我之前提出了一个问题:
How to make a div fill the remaning vertical space using css
得到了一个我现在一直在玩的答案:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
html, body{
padding: 0;
margin: 0 auto;
height: 100%;
}
#header {
float: top;
width: 100%;
height: 15%;
background-color: green;
}
#navbar {
float: left;
width: 20%;
height: 70%;
background-color: red;
}
#content {
float: right;
width: 80%;
height: 70%;
background-color: blue;
}
#footer {
float: bottom;
width: 100%;
height: 15%;
background-color: yellow;
}
</style>
</head>
<body>
<div id="header"> Header </div>
<div id="navbar"> Nav Bar </div>
<div id="content"> Body </div>
<div id="footer"> Footer</div>
</body>
</html>
现在ultimatley Id希望实现这一目标:
它涵盖了100%的屏幕,但我可以选择这些百分比如何传播,即:
html, body{
padding: 0;
margin: 0 auto;
height: 100%;
}
#header {
float: top;
width: 100%;
height: 15%;
background-color: green;
}
#navbar {
float: left;
width: 20%;
height: 70%;
background-color: red;
}
#content {
float: right;
width: 80%;
height: 70%;
background-color: blue;
}
#footer {
float: bottom;
width: 100%;
height: 15%;
background-color: yellow;
}
因为你可以将html和body的高度设置为100%,从而填满屏幕。标题的高度百分比为15%,导航条和正文的百分比为70%,页脚的百分比为15%,总计将构成可见屏幕的100%......
现在除了我的页脚外,一切似乎都很好:
#footer {
float: bottom;
width: 100%;
height: 10%;
background-color: yellow;
}
如果我删除height: 15%
,那么我可以看到我的背景颜色为黄色:
如果我不是它的一些灰色。并且看起来占据了大约20%的屏幕:
所以基本上我如何让我的div占据我指定的正确身高百分比?
我希望我有意义。
提前致谢。
答案 0 :(得分:1)
你不能漂浮到顶部或底部。那不存在。因此,您必须从页眉和页脚中删除它。
通过执行以下操作清除页脚:
footer {
clear: both;
}
答案 1 :(得分:1)
你的问题是没有:
float:top;
或
float:bottom;
您需要做的是float:left;
这里是您的代码与更新的复制和粘贴:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
html, body{
padding: 0;
margin: 0 auto;
height: 100%;
}
#header {
float: left;
width: 100%;
height: 15%;
background-color: green;
}
#navbar {
float: left;
width: 20%;
height: 70%;
background-color: red;
}
#content {
float: right;
width: 80%;
height: 70%;
background-color: blue;
}
#footer {
float: left;
width: 100%;
height: 15%;
background-color: yellow;
}
</style>
</head>
<body>
<div id="header"> Header </div>
<div id="navbar"> Nav Bar </div>
<div id="content"> Body </div>
<div id="footer"> Footer</div>
</body>
</html>