2012-10-24 95 views
2

我试图来实现,即div的会像上图为例,使用CSS: page exampleDIV位置 - CSS

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

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

感谢

+1

我们可以看到您的一些代码吗? –

+0

你能对你想要的更具体吗?图片中的布局可以非常容易地创建,并且可以以图片没有说明的不同方式重新排列/调整大小。在JS中计算大小的目的是什么? – tuff

+0

即使在滚动时,你想保持蓝条始终可见吗? –

回答

1

如果侧边栏(或任何其他分区)为100%的高度,并在上面你有一个30像素头,这会导致您的容器达到100%+ 30像素的高度。

在未来,你将在css3 calc(): http://hacks.mozilla.org/2010/06/css3-calc/ 这将解决你的问题。

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

支票fiddle here

+0

是啊你看,这里是问题... 100%+ 30px :)我希望CSS做所有的工作,没有JS ...:D我有解决方案使用JS,但我希望纯CSS在这里:> – Clem

+0

@Klemzy你可以将'overflow:hidden'属性添加到body中,然后它会工作(但是测试跨浏览器);) –

+1

ok,calc是gr8 ...但我怀疑是IE:P THAAANK很多 – Clem

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

顶部的div可以实现没有任何特殊的CSS。为了放置下面的东西(例如页脚),您需要使用clear: both

+0

是的,但在这里,我们有滚动条...我不想要页面滚动...有我的概率。 – Clem

+0

你有没有试过max-height:100%; ? –

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

+0

是啊,但在这里,我们已经硬编码的宽度和高度...有问题...我希望这个网页将充满...内容将在#side旁边开始,并在右端结束...与高度相同.. .i希望容器和侧面开始在底部的标题和结束之前在Fartter屏幕页底部 – Clem

+0

@Klemzy,检查我的答案,只是将'overflow:hidden;'添加到'body' –

+1

@Klemzy,当我回答你的问题我错过了你谈到没有滚动条的部分。对于那个很抱歉。添加溢出:像Tom说的那样隐藏到身体可能会解决您的问题。 –