J'applique min-height: 100vh;
vers un conteneur flexbox et j'obtiens une barre de défilement verticale lorsque j'utilise justify-content: space-around;
Je ne veux pas forcer la hauteur, mais je ne comprends pas pourquoi la barre de défilement est là car le contenu a des dimensions plus petites que la fenêtre d'affichage.
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
}
.wrapper {
min-height: 100vh;
display: flex;
flex-direction: column;
justify-content: space-around;
}
<link href="https://necolas.github.io/normalize.css/5.0.0/normalize.css" rel="stylesheet"/>
<div class="wrapper">
<div>
<h1>min-height: 100vh;</h1>
<h2>why is there a scrollbar here?</h2>
</div>
<div>
Be sure to expand window.
<a href="#">skill one</a>
<a href="#">skill one</a>
<a href="#">skill one</a>
<a href="#">skill one</a>
</div>
</div>
L'ajout de flex-grow semble faire l'affaire:
body {
min-height: 100vh;
display: flex;
flex-direction: column;
}
.wrapper {
display: flex;
flex-direction: column;
flex-grow: 1;
justify-content: space-around;
}
https://jsfiddle.net/uxgaaccr/2/
Je ne sais pas pourquoi, mais height: 100%
sur .wrapper
ne semble pas suffire, il a besoin de flex-grow
au lieu. Je pense qu'il y avait un espace blanc supplémentaire provenant de justify-content: space-around
qui ajoutait à la hauteur. Pas confiant dans mon raisonnement, mais il semble fonctionner ...
Sur la base de la réponse de @ Jazcash ci-dessus, cela peut être encore plus simplifié.
Essentiellement, nous devons déplacer le min-height: 100vh
à l'élément parent et appliquez display: flex
à elle. flex-grow
n'est pas requis.
https://jsfiddle.net/gkatsanos/uxgaaccr/3/
* {
box-sizing: border-box;
}
body {
min-height: 100vh;
display: flex;
}
.wrapper {
display: flex;
flex-direction: column;
justify-content: space-around;
}
<link href="https://necolas.github.io/normalize.css/5.0.0/normalize.css" rel="stylesheet"/>
<div class="wrapper">
<div>
<h1>min-height: 100vh;</h1>
<h2>why is there a scrollbar here?</h2>
</div>
<div>
Be sure to expand window.
<a href="#">skill one</a>
<a href="#">skill one</a>
<a href="#">skill one</a>
<a href="#">skill one</a>
</div>
</div>