2011-07-24 80 views
4

我遇到了一个令人困惑的问题,我不太清楚如何解决。我有一个侧栏和一个主要区域。侧边栏的宽度为25%,最大宽度为350px。其余由主区域(宽度:自动)占用。无论用户滚动多少,边栏都需要有100%的高度,并始终保持在原来的位置。流体宽度的静态边栏

如果我有一个固定宽度的侧边栏,我可以做这样的事情(demo here):

div#sidebar { 
    width: 350px; 
    position: fixed; 
    top: 0px; 
    left: 0px; 
    height: 100% 
} 

div#main { 
    width: auto; 
    margin-left: 350px; 
} 

然而,因为我不知道我的侧边栏有多宽将是你,我不会知道要在我的主要内容区域添加多少保证金。

任何想法?

+2

你想'位置:fixed'而不是'位置:static'。 – BoltClock

+0

BoltClock:正确。我的错。但仍然存在主要问题。 –

回答

4

我认为这是你在找什么,请看demo fiddle

CSS:

html, 
body { 
    width: 100%; 
    height: 100%; 
    padding: 0; 
    margin: 0; 
    overflow: hidden; 
} 
#sidebar { 
    float: left; 
    width: 25%; 
    max-width: 350px; 
    height: 100%; 
    overflow: hidden; 
} 
#main { 
    overflow-x: hidden; 
    overflow-y: auto; 
    height: 100%; 
} 

HTML:

<div id="sidebar"> 

</div> 
<div id="main"> 

</div> 
+0

工作很好,谢谢! –

+0

嗯...不幸的是,有一些问题。主要区域的底部的一部分在其变长时切断。 –

+0

你能编辑我的小提琴来显示问题吗?请注意,主div可能没有边距和填充。相反,在这种情况下使用额外的元素/ div。 – NGLN