这几天我一直在研究这个问题,并且阅读了所有关于 CSS、溢出和布局的文章。
我有一个带有横幅(position: absolute)的页面,下面是一个包含两个块 div 的 div。第二个块 div 又具有另一个包含文本的 div。
我希望在调整窗口大小时最里面的 DIV 显示一个滚动条。
我已经阅读了关于确保在所有包含元素上设置高度的帖子,我已经在所有正确的地方设置了溢出-y:自动。就是行不通。
包含的 DIV 如下所示:http: //i.imgur.com/oDHM4.png
我希望在调整浏览器窗口大小(仅限 y 方向)时滚动绿色部分。
任何设计中的可滚动 DIV 都非常有用……但不应该这么难。任何和所有的帮助表示赞赏。
丹尼
标记
标记非常简单:
<body>
<div id="page-header" style='background:blue;'>page-header</div>
<div id="page-content">
<div id="configContent" style='height: inherit; background: steelblue;'>
<h1 id='panTitle'>Panel Title</h1>
<div id='panProbes' class='libPanel' style="background: maroon;">
<p>panProbes</p>
<div id="probesCT1" class="configtable" style='background: red;'>
<p class='pTblTitle'>probesCT1</p>
</div>
<div id="probesCT2" class="configtable" style='background: grey;'>
<p>probesCT2</p>
<div id='pTbl' style='background: green;'>
<div class='pRow'>1st para in pTbl</div>
<div class='pRow'>some data</div>
<div class='pRow'>some data</div>
<div class='pRow'>some data</div>
<div class='pRow'>some data</div>
<div class='pRow'>some data</div>
<div class='pRow'>some data</div>
<div class='pRow'>some data</div>
<div class='pRow'>some more data</div>
<div class='pRow'>some more data</div>
</div>
</div>
</div>
</div>
</div>
</body>
** 造型 **
这是 CSS 精简到核心本质:
html, body {
position:absolute;
margin: 0px;
padding: 0px;
height: 100%;
width: 1010px;
overflow: hidden;
}
#page-header {
position: absolute;
left: 5px;
top: 5px;
height: 60px;
width: 100%;
}
#page-content {
width: 100%;
height: 100%;
margin-top: 95px;
}
#configContent {
height: 100%;
width: 300px;
padding-left: 0px;
border-width: 3px;
margin-left: 30px;
margin-right: auto;
}
.libPanel { height: 100%; }
#probesCT1 { width: 150px; margin: 0 auto 0 30px; }
#probesCT2 {
width: 200px;
/* height: 100%; */
margin: 0 30px 50px 30px;
padding: 0 10px 10px 10px;
}
#pTbl { overflow-y: auto; }
.pRow { margin-bottom: 10px; }