Dernière Position flex élément à la fin de conteneur
Cette question concerne un navigateur avec plein css3, y compris flexbox.
J'ai un conteneur flex avec certains éléments. Ils sont tous justifiés flex-pour commencer, mais je veux le dernier .end
élément à être justifiée, flex-end. Est-il un bon moyen de le faire sans modifier le code HTML et sans avoir recours à un positionnement absolu?
CSS:
.container {
display: flex;
flex-direction: column;
outline: 1px solid green;
min-height: 400px;
width: 100px;
justify-content: flex-start;
}
p {
height: 50px;
background-color: blue;
margin: 5px;
}
HTML:
<div class="container">
<p></p>
<p></p>
<p></p>
<p class="end"></p>
</div>
- Oui. Voir
auto
marge illustrations ici: stackoverflow.com/a/33856609/3597276
Vous devez vous connecter pour publier un commentaire.
Par conséquent, vous pouvez utiliser
margin-top: auto
de distribuer l'espace entre les autres éléments et le dernier élément. Ce sera la position de l'élément dans le bas.Vous pouvez également éviter d'utiliser une classe et d'utiliser les
:last-of-type
/last-child
pseudo classe.CSS:
HTML:
margin: 0 auto
pour le centrage horizontal. Flexbox éléments respect de la marge, et je crois quemargin: auto
essentiellement en position de l'élément avec autant d'espace entre le frère que possible. Voir: w3.org/TR/css-flexbox-1/#auto-marginsmargin: auto
sur un flex élément lui dit d'en créer autant d'espace que possible dans cette direction.Prior to alignment via justify-content and align-self, any positive free space is distributed to auto margins in that dimension.
flex-grow: 1;
le dernier élément avant le dernier élément à la position à la fin, il fixe.margin-top: auto
sur le bloc du haut ainsi que le bas.Ce flexbox principe fonctionne également horizontalement
Pendant les calculs de flexion des bases et des longueurs de flexible, auto marges
sont traités comme des 0.
Avant l'alignement via justifier le contenu
alignez-auto, tout résultat positif de l'espace libre est distribué à l'auto marges
cette dimension.
Réglage automatique de la marge de gauche pour le Dernier Élément va faire le travail.
Exemple De Code:
CSS:
HTML:
Codepen Extrait De
Cela peut être très utile pour le Bureau, les Pieds de page.
Comme Envato fait ici avec le logo de l'entreprise.
Codepen Extrait De