双固定页眉和页脚 - 最好是动态的
Double fixed header and footer - preferably dynamic
我不确定我需要的东西是否可以完成,但我想要一个 flex(或 CSS 包括 table 布局,如果可行的话)解决方案来提供双重固定 (固定 - 不粘)页眉和页脚如下:
***header one - fixed - dynamic height***
***header two - fixed - dynamic height***
***content - scrolls as needed***
***fixed one - fixed - dynamic height***
***footer two - fixed - dynamic height***
我花了好几天的时间搜索和尝试,可能最接近 this js fiddle,它总体上有效,但页眉和页脚内容在超过页面宽度时不会换行。如果需要,我可以考虑固定高度,但更喜欢动态高度。此外,如果重要的话,有时页眉二和页脚一不会出现在页面上。
如有任何想法,我们将不胜感激!
在这里,我认为这行得通。
你必须在那里有 max-height 否则列会扩大,我选择 100vh。
我假设您的意思不是 headers/footers 是 position:fixed
,因为它们会脱离文档流并且不会影响非定位元素的高度。
相反,我假设您的意思是主要内容必须放在它们之间,无论它们的大小如何,并根据需要溢出。
我在内容部分添加了一个 'expanding' 悬停,以便您可以看到溢出生效。
body {
padding: 0;
margin: 0;
}
.container {
height: 100vh;
max-height: 100vh;
width: 80%;
margin: auto;
display: flex;
flex-direction: column;
}
div {
flex: 0 0 auto;
}
.one {
background: lightblue;
}
.two {
background: lightgreen;
}
main {
flex: 1 1 auto;
overflow-Y: auto;
background: pink;
}
main:hover .expander {
height: 1000px;
}
p {
padding: 0 1em;
margin: 0;
<div class="container">
<div class="header one">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae, alias mollitia. Laborum et cupiditate</p>
</div>
<div class="header two">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ex excepturi molestiae voluptates nesciunt, recusandae error,</p>
</div>
<main>
<div class="expander"></div>
</main>
<div class="footer one">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequatur incidunt, esse quaerat illum ipsa. Reiciendis corrupti aliquid placeat</div>
<div class="footer two">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum rerum tempore dolor tenetur expedita eligendi nemo numquam veniam laboriosam.</p>
</div>
</div>
我不确定我需要的东西是否可以完成,但我想要一个 flex(或 CSS 包括 table 布局,如果可行的话)解决方案来提供双重固定 (固定 - 不粘)页眉和页脚如下:
***header one - fixed - dynamic height***
***header two - fixed - dynamic height***
***content - scrolls as needed***
***fixed one - fixed - dynamic height***
***footer two - fixed - dynamic height***
我花了好几天的时间搜索和尝试,可能最接近 this js fiddle,它总体上有效,但页眉和页脚内容在超过页面宽度时不会换行。如果需要,我可以考虑固定高度,但更喜欢动态高度。此外,如果重要的话,有时页眉二和页脚一不会出现在页面上。
如有任何想法,我们将不胜感激!
在这里,我认为这行得通。
你必须在那里有 max-height 否则列会扩大,我选择 100vh。
我假设您的意思不是 headers/footers 是 position:fixed
,因为它们会脱离文档流并且不会影响非定位元素的高度。
相反,我假设您的意思是主要内容必须放在它们之间,无论它们的大小如何,并根据需要溢出。
我在内容部分添加了一个 'expanding' 悬停,以便您可以看到溢出生效。
body {
padding: 0;
margin: 0;
}
.container {
height: 100vh;
max-height: 100vh;
width: 80%;
margin: auto;
display: flex;
flex-direction: column;
}
div {
flex: 0 0 auto;
}
.one {
background: lightblue;
}
.two {
background: lightgreen;
}
main {
flex: 1 1 auto;
overflow-Y: auto;
background: pink;
}
main:hover .expander {
height: 1000px;
}
p {
padding: 0 1em;
margin: 0;
<div class="container">
<div class="header one">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae, alias mollitia. Laborum et cupiditate</p>
</div>
<div class="header two">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ex excepturi molestiae voluptates nesciunt, recusandae error,</p>
</div>
<main>
<div class="expander"></div>
</main>
<div class="footer one">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequatur incidunt, esse quaerat illum ipsa. Reiciendis corrupti aliquid placeat</div>
<div class="footer two">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum rerum tempore dolor tenetur expedita eligendi nemo numquam veniam laboriosam.</p>
</div>
</div>