Bonjour à tous,
J'ai essayé d'être le plus explicite possible dans le titre.
J'ai plusieurs conteneurs disposés en mode FLEX avec une direction verticale.
Je souhaite avant tout que la hauteur max de mes conteneurs corresponde à leur contenu, avant d'engager une compétition de "grow" avec les autres conteneurs FLEX.
Malheureusement, je n'ai trouvé aucun exemple clair à ce sujet.
Le chipsContainer est trop large je veux qu'il fasse la taille du contenu et pas plus. C'est que lorsque le contenu grossit que je souhaite qu'il rentre en compète avec les autres conteneurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 /******************** DETAILS GROUPE *************************/ .chipsContainer { position: relative; flex: 1 1 auto; flex-direction: column; display: flex; flex-flow: column; min-height: 0; } .chipsContainer2 { position: absolute; height: fit-content; min-height: fit-content; max-height: 98%; width: 98%; overflow-y: auto; overflow-x: auto; }
SI je met 0 0 auto la taille devient nulle, je ne comprends pas pourquoi d'ailleurs....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 .chipsContainer { position: relative; flex: 0 0 auto; flex-direction: column; display: flex; flex-flow: column; min-height: 0; }
Bien évidemment fit-content ne fonctionne pas:
Mais une taille max fixe fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 .chipsContainer { position: relative; flex: 1 1 auto; flex-direction: column; display: flex; flex-flow: column; height: fit-content; max-height:fit-content; min-height: 0; }
Idem pour ce composant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 .chipsContainer { position: relative; flex: 1 1 auto; flex-direction: column; display: flex; flex-flow: column; height: fit-content; max-height: 300px; min-height: 0; }
Ensuite j'ai un bouton dans un autre conteneur flex (lui il se comporte bien):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 .PanelZone { position: relative; flex: 1 1 auto; display: flex; flex-flow: column; align-items: center; justify-content: start; /*border: 2px solid black;*/ } .panel { position: absolute; height: fit-content; max-height: 98%; width: 98.5%; overflow-y: auto; overflow-x: hidden; }
Ensuite j'ai du vide. Seule méthode que j'ai trouvée pour que le bouton soit le + proche de l'élément précédent. Si vous avez une autre solution...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 .RetourBtn { flex: 0 0 auto; display: flex; justify-content:end; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 .BlankSpace { flex: 1 1 auto; }
Partager