我发现另一篇文章让我非常接近我正在寻找的东西,但并非一直如此。(http://stackoverflow.com/questions/10474354/layout-with-fixed-header-and-footer-fixed-width-sidebar-and-flexible-content)
本质上,我想为每个可滚动区域添加一个标题/标题部分。这些不应该在各自的部分内滚动。这是 jsfiddle,我已经注释掉了标题部分。当它们被添加时,它会将 div 推到窗口的高度之外,从而扩展内容。任何帮助表示赞赏!
这是原始代码:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Application Wireframe</title>
<style type="text/css">
body {
margin: 0;
height: 100%;
}
#header {
text-align: left;
background: #4f0f00;
color: #fff;
width: 100%;
margin: 0 0 0 0;
border: 0;
overflow: hidden;
position: fixed;
}
#accountbar {
background-color: #000000;
color: white;
height: 40px;
width: 100%;
}
#contextbar {
position:fixed;
top:40px;
width: 100%;
}
#leftheader {
background-color: #66CCFF;
height: 40px;
width:200px;
float:left;
}
#contentheader {
background-color: #996600;
color: white;
height: 40px;
}
#middle {
position:fixed;
top:80px;
width: 100%;
height: 100%;
}
#left_col {
float: left;
width: 200px;
/*height: 100%;*/
}
#left_col_wrap {
/*width: 100%;
height: 100%;
position: fixed;*/
}
#leftnav {
background-color: #66FFFF;
height: 100%;
overflow: scroll;
/*width: 200px;*/
}
#main_col {
/*margin-left: 200px;*/
/*height: 100%;*/
}
#main_content_wrap {
/*position:fixed;
width:100%;
height: 100%;*/
}
#messagegap {
background-color: white;
}
#contentpane {
background-color: #FFAA00;
height: 100%;
overflow: scroll;
}
#contentfoot {
background-color: #C80;
height: 20px;
position: fixed;
width: 100%;
bottom: 0;
padding-bottom: 18px;
}
#footer {
background-color: #CCCCCC;
clear: left;
width: 100%;
position: fixed;
bottom: 0;
}
</style>
</head>
<body>
<div id="header">
<div id="accountbar"><b>Account Bar</b> -always visible-this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this</div>
</div>
<div id="contextbar">
<div id="leftheader"><b>Left Header</b></br>-usually says "Contents"-</div>
<div id="contentheader"><b>Content Header</b> -always visible- this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this</div>
</div>
<div id="middle">
<div id="left_col">
<div id="left_col_wrap">
<div id="leftnav"><b>Left Navigation</b>
<ul>
<p>
First</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
Last</p>
</ul>
</div>
</div>
</div>
<div id="main_col">
<div id="main_content_wrap">
<div id="contentpane"><b>Content Pane</b>
<p>Content Pane</b> -always visible- this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this</p>
<ul>
<p>
First</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
Last</p>
</ul>
</div>
</div>
</div>
</div>
<div id="footer"><b>Footer</b> -always visible, always at bottom of window-</div>
</body>
</html>
这是解决方案:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Application Wireframe</title>
<style type="text/css">
body {
margin: 0;
height: 100%;
}
#header {
text-align: left;
background: #4f0f00;
color: #fff;
width: 100%;
margin: 0 0 0 0;
border: 0;
overflow: hidden;
position: fixed;
}
#accountbar {
background-color: #000000;
color: white;
height: 40px;
width: 100%;
}
#contextbar {
position:fixed;
top:40px;
width: 100%;
}
#leftheader {
background-color: #66CCFF;
height: 40px;
width:200px;
float:left;
}
#contentheader {
background-color: #996600;
color: white;
height: 40px;
}
#middle {
position:absolute;
top:80px;
width: 100%;
overflow-y: visible;
bottom: 8px;
/*height: 100%;*/
}
#left_col {
float: left;
width: 200px;
/*height: 100%;*/
}
#left_col_wrap {
/*width: 100%;
height: 100%;
position: fixed;*/
}
#leftnav {
background-color: #66FFFF;
height: 100%;
overflow: scroll;
/*width: 200px;*/
}
#main_col {
/*margin-left: 200px;*/
/*height: 100%;*/
}
#main_content_wrap {
/*position:fixed;
width:100%;
height: 100%;*/
}
#messagegap {
background-color: white;
}
#contentpane {
background-color: #FFAA00;
height: 100%;
overflow: scroll;
}
#contentfoot {
background-color: #C80;
height: 20px;
position: fixed;
width: 100%;
bottom: 0;
padding-bottom: 18px;
}
#footer {
background-color: #CCCCCC;
clear: left;
width: 100%;
position: fixed;
bottom: 0;
}
</style>
</head>
<body>
<div id="header">
<div id="accountbar"><b>Account Bar</b> -always visible-this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this</div>
</div>
<div id="contextbar">
<div id="leftheader"><b>Left Header</b></br>-usually says "Contents"-</div>
<div id="contentheader"><b>Content Header</b> -always visible- this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this</div>
</div>
<div id="middle">
<div id="left_col">
<div id="left_col_wrap">
<div id="leftnav"><b>Left Navigation</b>
<ul>
<p>
First</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
Last</p>
</ul>
</div>
</div>
</div>
<div id="main_col">
<div id="main_content_wrap">
<div id="contentpane"><b>Content Pane</b>
<p>Content Pane</b> -always visible- this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this this is the main page -- everyone else stay thin so we can see this</p>
<ul>
<p>
First</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
left</p>
<p>
Last</p>
</ul>
</div>
</div>
</div>
</div>
<div id="footer"><b>Footer</b> -always visible, always at bottom of window-</div>
</body>
</html>