我把这个演示到一起之前的问题是编辑以包括链接到演示,所以这是第一次迭代,虽然在查看链接演示之后,看起来标记相当接近:
<div class="dashWrap">
<h2>header</h2>
<div class="dashContent">
<p><!-- content --></p>
</div>
</div>
下面的CSS似乎你需要做的:
.dashWrap {
width: 50%;
margin: 0 auto 1em auto;
}
.dashWrap h2 {
background-color: #ffa;
border: 2px solid #000;
border-radius: 0.5em 0.5em 0 0;
text-indent: 0.5em;
}
.dashWrap .dashContent {
max-height: 5em;
overflow-x: hidden;
overflow-y: auto;
border: 2px solid #000;
border-top-color: transparent;
}
JS Fiddle demo。
编辑以下问题从OP(在评论):
...我不知道为什么它的工作原理。如果你愿意给我一个简短的解释,说明为什么标题能够如此奇迹般地保持原位,这将非常有帮助。
的原因,h2
停留“到位”是,简单地说,因为我不动它,或更改其默认display
行为(一h2
默认为display: block
);这意味着它保持在文档流程中的位置。
它的同胞.dashContent
,元件能够滚动,因为它有两个规则,首先是max-height
防止垂直生长,以适应其派生元素(多个)元件和第二是overflow-y
(其在某些浏览器需要overflow-x
也被设置,因此上述),这允许.dashContent
的内容滚动。
什么是你的标记?你在和什么工作?你有什么尝试? –
尝试使用标题div和body div制作容器div。你可以设置溢出到身体,同时保持头静态。 –