问题
I'm trying to use this sticky footer:
http://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
body{
display: flex;
min-height: 100vh;
flex-direction: column;
}
.content{
flex: 1;
}
But it messes up the rendering at the < 768px widths.
Any simple css fix to get it work for all resolutions?
http://jsfiddle.net/2xvv5mod/
回答1:
You need to give the flexbox item a width
of 100%
.
In this case, that would be that .content
element:
Updated Example
body {
display: flex;
min-height: 100vh;
flex-direction: column;
}
.content {
flex: 1;
}
@media only screen and (max-width: 768px) {
.content {
width: 100%;
}
}
回答2:
Bootstrap 4 now uses flexbox by default so it's easier to get a sticky (not fixed) footer w/o additional CSS for the flexbox. You just need to ensure the body has min-height
...
body {
min-height: 100vh;
}
Then use the flexbox utility classes...
<body class="d-flex flex-column">
<nav></nav>
<main class="flex-grow"></main>
</footer></footer>
</body>
Bootstrap 4 Flexbox Sticky Footer
回答3:
Adding vertical height worked for me
<body class="d-flex flex-column min-vh-100">
<nav>this is text</nav>
<main class="flex-grow-1">this is text</main>
</footer>this is text</footer>
</body>
回答4:
I'd suggest to take out a bit of confusion since the snippet does not really match with the linked details. Plus it has a typo. Just to let the framing tags work as fix points.
<body class="d-flex flex-column">
<nav></nav>
<section class="container-fluid flex-grow-1"></section>
<footer></footer>
</body>
来源:https://stackoverflow.com/questions/28389667/using-flexbox-sticky-footer-with-bootstrap