flex-direction: colonne; ne fonctionne pas
J'ai un ul
tag avec display: flex
.
J'en ai besoin commandé par colonne avec flex-direction: column;
, mais il ne fonctionne pas.
css pour le conteneur
#nav li.four_columns ul.sub-menu {
width: 600px;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
flex-flow: wrap;
}
css pour l'enfant
#nav li.four_columns ul.sub-menu li {
flex-basis: 25%;
/* white-space: nowrap; */
/* overflow: hidden; */
/* text-overflow: ellipsis; */
/* border-bottom: none; */
}
J'apprécie l'aide.
- Changement
flex-flow: wrap;
àflex-wrap: wrap;
- Merci pour votre réponse. Je chaged
flex-flow: wrap;
àflex-wrap: wrap;
et je n'ai qu'une colonne, mais j'ai besoin de 4 colonnes.
Vous devez vous connecter pour publier un commentaire.
Ici est la source de votre problème:
flex-flow: wrap
C'est une abréviation de la propriété pour
flex-direction
et/ouflex-wrap
.Les valeurs initiales de cette propriété sont
row nowrap
.Vous n'avez qu'a déclaré le
flex-wrap
composant:wrap
.Cela signifie que le
flex-direction
composant reste la valeur par défaut:row
.Par conséquent, votre flex articles sont en alignant horizontalement dans une rangée qui l'encapsule.
Comme une solution, spécifier deux composantes:
OU, puisque vous avez déjà
flex-direction: column
dans la règle, supprimerflex-flow
et d'utilisation:Aussi important: Si vous voulez flex éléments d'envelopper dans la colonne de direction, vous avez besoin de définir une hauteur sur le conteneur. Sans une hauteur fixe, le flex éléments ne sais pas où pour envelopper et ils vont rester sur une seule colonne, d'élargir le conteneur en tant que de besoin.
Référence:
flex-flow
abréviationheight: 375px
.