我在寻找的是一个容器div
与任何数量的页眉和页脚,然后在不同的页眉/页脚之间有另一个滚动div
。问题在于,页眉和页脚不能滚动,容器/页眉/页脚可以根据其内容采取任何高度。带动态大小页眉/页脚的滚轮
我只能用静态大小的页眉/页脚获得此工作。在代码中,我添加了我遇到的问题:页眉/页脚中的文本可能会打包,这会将它带到两行。所以标题应该增加以允许这个额外的行,并且内容应该缩小以给标题留出空间。有没有办法做到这一点,而不使用JavaScript?如果有帮助,我会提前知道页眉/页脚的数量。
这将成为页面中的一个组件,可能每个页面有一个或多个页面,例如在2x2设置中,每个页面占用浏览器窗口的四分之一。该功能主要是因为浏览器的宽度可能会改变而导致标题内容打破新行。这可以用JavaScript很容易地完成,但我一直听说resize
事件处理程序是邪恶的。
例如,如果我的包装是600px
高,我可能有2个标题和1个页脚。比方说,第一个标题的内容导致它打破到一个新的行,但第二个标题没有。所以第一个标头高度是20px
,其中第二个是10px
。并且可以说,页脚的内容也会导致换行,因此具有高度20px
。这给了我们50px
值得的页眉和页脚,所以现在滚动条的高度应该是550px
。
ASCII艺术:
____________________________________________
| HEADER 1 |
|________breaks to new line__________________|
|____________________________HEADER2_________|
| | ||
| | ||
| This is my scroller | ||
| | ||
| | ||
| | ||
|_________________________________________|_||
| Some |
|_____Footer_________________________________|
HTML:
<div class="wrapper">
<div class="header">
Some<br/>
Header
</div>
<div class="scroller">
Content<br />
Content<br />
Content<br />
Content<br />
...
</div>
<div class="footer">
Some<br/>
Footer
</div>
</div>
CSS:
body{
height:100%;
}
.wrapper{
height:400px;
border-left:1px solid red;
}
.header, .footer{
background-color: #EEE;
height:27px;
}
.scroller{
height:calc(100% - 54px);
background-color: #CCC;
overflow:auto;
}
的红色边框是展示包装多远下降,所以页脚没有按” t显示在下面。我只是为了调试而不是overflow: hidden
。
所以,我说的对。包装必须是'400px'高,页眉和页脚可以在包装内部尽可能大,所以如果页眉和页脚都是'150px'高。内容必须是'100px'我不明白你说什么时会说有多个页眉/页脚 – iConnor
包装可以是任意大小,即使是一个百分比如50%。通过多个页眉/页脚我的意思是会有两个不同的div代表两个不同的标题,这两个标题都不应该滚动并应该影响滚动条的高度。你的尺寸是正确的,但150px不会被设置,它只能通过内容扩展来实现。 (我会尝试澄清更多的问题) – Don
这只是一个固定的页眉/页脚,流体内容的主题,这已被问了很多次的变种SO(http://stackoverflow.com/questions/10474354/layout-与固定的集管和尺固定宽度侧栏和 - 柔性的内容)。你可能无法做到固定的,流体高度的标题,在IE <10没有JS的情况下工作。有jQuery? – isherwood