完整高度停留在浏览器视口

3
我正在尝试用HTML和CSS创建一个简单的布局,使其能够占满整个屏幕,且两列的高度无论内容量大小都保持相等。
目前为止,滚动区域的高度停留在屏幕的高度,而不是整个页面的高度。请帮我解决这个问题。我已经尝试了几乎所有可以找到的教程。
以下是相关标记:

<html>
<body>

<div id="container">

<div id="sidebar"></div>

<div id="content"></div>

</div>

</body>
</html>

CSS代码。
html,body {

height: 100%;

}

#container {

width: 600px;
height: 100%;

background-color: black;

}

#sidebar {

float: left;

width: 200px;
height: 100%;

background-color: blue;

}

#content {

float: left;

width: 400px;
height: 100%;

background-color: red;

}

2
元素的100%高度意味着视口的100%。如果您希望它超出视口,则必须以像素为单位指定高度,或者失去高度并具有足够的内容。我不太确定我理解问题,因此我只在这里发表评论。 - red
这正是按照指示执行的。你想要什么结果? :) http://jsfiddle.net/Kyle_Sevenoaks/Drcx8/1/ - Kyle
那不起作用。看看当你的文本超过100%时会发生什么。 :) min-height可以工作-但是旁边的列又会有不同的高度。 - red
2个回答

1

我认为你不能用你的代码(仅通过CSS)来实现它。你可以让你的#container#content大小相同,但不是与#sidebar相同。你可以将样式放在容器上,因为它将随着height: inherit属性而伸展。

这里有几个你可以尝试的其他示例http://www.ejeliot.com/blog/61

另一个选择是使用JavaScript调整#sidebar的大小以匹配#content,如果你对这条路感兴趣。


1

这是我能用纯HTML\CSS解决您的问题的最接近方法:http://jsfiddle.net/Drcx8/3/

正如TNC所提到的,如果您想让它们的高度完全相同,您需要使用JavaScript来计算两个元素的高度,并将更大的高度应用于较低的高度元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接