我正在try 用以下方式进行布局:
- 页眉(代码段中的灰色块)
- 车身(石灰边框)
- 正文内容(带红色边框的块)
如果您水平滚动,则标题不应该滚动,它应该是全宽的并保持在可见范围内.如果您垂直滚动,则页眉应该像往常一样滚动到页面之外.页眉的高度是动态的,适合其中的内容(this SO answer适用于固定高度).
允许<main>
元素比视区宽,但标题始终为视区宽度.
我之所以不在<main>
元素上加上max-width: 100%; overflow-x: auto
(比如this SO answer),是因为元素的底部会出现水平滚动,然后假设一个人正在读取第一个块,而你想要水平滚动,你必须滚动到主元素的底部才能看到水平滚动条,滚动到一侧,然后再向上滚动.如果Main比视区宽,我希望水平滚动条始终存在.
我已try 在集线器上定位:粘滞/固定,但无法使其工作.
如果可能的话,我不希望使用Java脚本.
header {
padding: 32px;
background: gray;
width: 100%;
}
main {
border: 2px solid lime;
min-width: 100%;
}
div {
height: 200px;
width: 120%; /* make it overflow horizontally */
display: flex;
align-items: center;
justify-content: center;
border: 2px solid red;
}
<header>The Header should not scroll horizntally<br>(is dynamic height)</header>
<main>
<div>content 1</div>
<div>content 2</div>
<div>content 3</div>
<div>content 4</div>
<div>content 5</div>
<div>content 6</div>
</main>