我寫了下面的Flexbox的佈局:火狐忽略最大高度與Flexbox的
https://jsfiddle.net/atb5yyez/4/
html, body {
max-height: 300px;
overflow: hidden;
}
.container1 {
display: flex;
max-height: 100%;
flex-flow: column;
}
.container2 {
display: flex;
flex-flow: column;
max-height: 100%;
box-sizing: border-box;
border: 3px solid black;
}
header {
background-color: blue;
}
main {
background-color: red;
max-heigth: 100%;
overflow: auto;
}
footer {
background-color: green;
}
<div class="container1">
<div class="container2">
<header>header</header>
<main>
content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
<br>content
</main>
<footer>footer</footer>
<div>
</div>
鉻正確呈現此頁:頁眉和頁腳粘和內容佔用儘可能多的空間,同時還不會超過集裝箱的高度。
與其他瀏覽器(火狐,邊緣,Android瀏覽器等)頭仍然存在,但頁腳不是和容器佔用太多的空間。
這究竟是爲什麼? Chrome是否正確渲染這些東西,其他瀏覽器是否有錯誤?或者我做錯了什麼,Chrome是唯一一個原諒我的瀏覽器?
現在我知道我可以通過只使用一個Flexbox容器來「解決」這個問題。但是,這個問題發生在一個真正的Web項目中,我需要將它隔離開來以生成示例代碼。在真正的項目中,我需要使用兩個容器,所以應該可以通過保持兩個容器來解決這個問題。
最大高度值不應該被繼承和兒童使用。旁邊:height:500px + max-height:300px;不一致。和高度:100%需要一個高度和CSS中父項的可繼承值。如果該代碼有效,祝賀能夠理解您的瀏覽器;) –
是的,在同一元素上使用硬編碼的高度和最大高度是一個錯誤。我刪除了高度屬性。 – Jarzka
我評論了一些事情https://jsfiddle.net/atb5yyez/6/,並會這樣做https://jsfiddle.net/atb5yyez/7/我想你找主要填充整個空間左和滾動if需要嗎? –