2

我试图实现,div 的行为就像图片上的一个例子,使用 css: 页面示例

有什么干净的方法可以做到这一点吗?我使用 javascript 来计算“左”div 高度和“主”div 宽度和高度来实现这一点。但我不喜欢这个解决方案......有没有办法只使用 css 来做到这一点?

编辑:页面不能有滚动条......所以页面的高度总是最大 100%,没有更多......

谢谢

4

3 回答 3

1

如果侧边栏(或任何其他 div)的高度为 100%,并且顶部有一个 30px 的标题,那么这会导致您的容器为 100% + 30px 的高度。

将来您将在 css3 calc() 中使用:http: //hacks.mozilla.org/2010/06/css3-calc/ 这将解决您的问题。

但是现在您可以添加overflow: hidden;htmlandbody部分,但我建议使用 Javascript 计算侧边栏的高度(容器高度 - 标题高度)。

在这里检查小提琴

于 2012-10-24T18:25:58.397 回答
0

如果你的意思是两列布局,你可以像这样使用纯 CSS:

.container {
  background-color: #aaaaaa;
}

.left {
    float: left;
    width: 100px;
    clear: left;
}

.right {
    margin-left: 100px;
    background-color: #888888;
}

和 HTML:

<div class="container">
  <div class="left">left</div>
  <div class="right">right</div>
</div>

现场演示:jsFiddle

无需任何特殊的divCSS 即可实现顶部。要在下面放置一些东西(例如页脚),您需要使用clear: both.

于 2012-10-24T17:49:19.153 回答
0

没有任何代码,很难确定你想要什么。这是我相信你想要的一个非常简单的版本。

HTML:

<div id="header">

</div>
<div id="side">

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

</div>

CSS:

#header {
    width:100%;
    height:50px;
}
#side {
    width:300px;
    height:100%;
    float:left;
}
#content {
    width:660px;
    height:100%;
    float:left;
}

jsFiddle

于 2012-10-24T17:51:19.160 回答