我发现了很多关于围绕这个问题的互联网充斥的讨论和问题,但是,他们都不符合我的情况和解决方案具有高度特异性有一定的局面。HTML/CSS全高度侧边栏
我有在页面顶部的100px
一个高度header
元素。我有一个div#sidebar
元素向左浮动,宽度为250px
,最后一个div#main
元素也向左浮动。
高度为html
,body
和div#sidebar
为100%
。
我的目标是让div#sidebar
一路向下延伸到页面的底部,无论浏览器的大小或内容的大小。很显然,如果内容长度超过可查看页面高度,它应该正常运行,并推送到页面末尾,引入滚动条。
但是,就目前而言,页面高度似乎已计算为100% + 100px
,即使没有内容会将div#sidebar
降低,也会引入滚动条。到目前为止,我没有找到可行的解决方案,或者我已经错过了解决方案或解决方案;不管怎么说,我已经在这里待了一个多小时了,而且我正要把我的头发扯出来。
是否有非JavaScript的方法来使其正常工作以阻止header
的高度被添加到100%
?
这是我的HTML/CSS - 虽然我在上面列出了所有相关细节,但这应该有所帮助。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My Awesome Template!</title>
<link href="./stylesheet.css" rel="stylesheet" />
</head>
<body>
<header id="primary">
<h1>My Awesome Template!</h1>
</header>
<div id="sidebar">
<h1>Sidebar</h1>
</div>
<div id="main">
<h1>Main</h1>
</div>
</body>
</html>
CSS:
html, body
{
margin: 0;
padding: 0;
height: 100%;
}
body
{
background: #fff;
font: 14px/1.333 sans-serif;
color: #080000;
}
header#primary
{
width: 100%;
height: 100px;
background: #313131;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#4d4d4d), to(#313131));
background-image: -moz-linear-gradient(#4d4d4d, #313131);
background-image: -o-linear-gradient(#4d4d4d, #313131);
background-image: linear-gradient(#4d4d4d, #313131);
}
header#primary h1
{
margin: 0px 0px 0px 20px;
padding: 0px;
line-height: 100px;
color: #ffffff;
}
#sidebar
{
float: left;
width: 250px;
background: #ccc;
min-height: 100%;
}
#main
{
float: left;
}
你能发布你的html和css吗?在此期间,你可以看看这里:http://www.tutwow.com/htmlcss/quick-tip-css-100-height/ – mamoo
你确定一切都在树(儿童)的正确位置?即头是身体的孩子? –
@mamoo - 编辑过的HTML/CSS文章。 –