Używanie schematu flexbox, to jest łatwe do osiągnięcia.
Ustaw opakowanie zawierające 3 przedziały na display: flex;
i nadaj mu wysokość 100%
lub 100vh
. Wysokość owijki wypełni całą wysokość, a display: flex;
spowoduje, że wszystkie dzieci tego opakowania, które mają odpowiednie właściwości flexu (na przykład flex:1;
), będą sterowane za pomocą magii flexbox.
Przykład znaczników:
<div class="wrapper">
<header>I'm a 30px tall header</header>
<main>I'm the main-content filling the void!</main>
<footer>I'm a 30px tall footer</footer>
</div>
i CSS, aby go towarzyszyć:
.wrapper {
height: 100vh;
display: flex;
/* Direction of the items, can be row or column */
flex-direction: column;
}
header,
footer {
height: 30px;
}
main {
flex: 1;
}
Oto ten kod żyć Codepen: http://codepen.io/enjikaka/pen/zxdYjX/left
Można zobaczyć więcej schematu flexbox magii tutaj: http://philipwalton.github.io/solved-by-flexbox/
Albo znajdź dobrze wykonaną dokumentację Re: http://css-tricks.com/snippets/css/a-guide-to-flexbox/
- [Stare odpowiedź poniżej] -
tu proszę: http://jsfiddle.net/pKvxN/
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Layout</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
header {
height: 30px;
background: green;
}
footer {
height: 30px;
background: red;
}
</style>
</head>
<body>
<header>
<h1>I am a header</h1>
</header>
<article>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce a ligula dolor.
</p>
</article>
<footer>
<h4>I am a footer</h4>
</footer>
</body>
</html>
To działa na wszystkich nowoczesnych przeglądarkach (FF4 +, Chrome, Safari, IE8 i IE9 +)
Czy spadkowcy mogą wyjaśnić swoje spadki? Nie znam CSS, więc dla mnie wygląda to doskonale. –
Jestem pewien, że spadki są spowodowane brakiem postrzeganego wysiłku ze strony OP, który jest całkowicie uzasadniony. –
To doskonale poprawne pytanie. To wciąż jest ból i nie jest intuicyjny z CSS. – Glenn