J'ai cette simple div avec un bouton à l'intérieur . justify-content: center;
fonctionne correctement avec Firefox et Chrome, mais pas avec IE 11:
#div {
height: 200px;
width: 50px;
border: 1px solid black;
display: flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
}
#button {
height: 50px;
width: 200px;
min-width: 200px;
border: 1px solid black;
background-color: red;
}
<div id="div">
<button id="button">HELLO</button>
</div>
Mon objectif est que, lorsque j'utilise transform
avec rotate(90deg)
ou rotate(270deg)
, le bouton s'intègre dans le div :
#div {
height: 200px;
width: 50px;
border: 1px solid black;
display: flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
}
#button {
height: 50px;
width: 200px;
min-width: 200px;
border: 1px solid black;
background-color: red;
transform: rotate(90deg);
}
<div id="div">
<button id="button">HELLO</button>
</div>
Les height
et width
de div
et button
sont toujours les mêmes, mais sont personnalisables.
Autant que possible, je préfère ne pas envelopper les éléments.
IE11 a besoin que le parent ait flex-direction: column
.
Cet exemple a votre bouton tourné:
#div {
height: 200px;
width: 50px;
border: 1px solid black;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column
}
#button {
height: 50px;
width: 200px;
min-width: 200px;
border: 1px solid black;
background-color: red;
transform: rotate(90deg);
}
<div id="div">
<button id="button">HELLO</button>
</div>
Dans mon cas, je devais faire la hauteur du conteneur Flex à 100%. justifier-contenu a fonctionné sans problème après cela.
Je devais aussi faire 100% de la largeur maximale des enfants (premier niveau) pour réparer certains contenus débordant horizontalement.