J'ai créé une liste avec des icônes sociales. Ces icônes devraient se dérouler sur de petits écrans.
J'utilise flex-wrap: wrap;
et cela fonctionne parfaitement dans Firefox et Chrome:
Mais Internet Explorer 11 (et IE 10) ne cassera pas la ligne:
Exemple de stylo code
Consultez le code ici: http://codepen.io/dash/pen/PqOJrG
Code HTML
<div>
<ul>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
</ul>
</div>
Code CSS
body {background: #000;}
div {
background: rgba(255, 255, 255, .06);
display: table;
padding: 15px;
margin: 50px auto 0;
}
ul {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-flow: row wrap;
flex-wrap: wrap;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
list-style: none;
padding: 0;
}
li {
background: purple;
margin: 4px;
}
img {
display: block;
height: 40px;
padding: 7px;
width: 40px;
}
Cela semble être un bug IE qui apparaît lorsque le conteneur parent d'un élément flex est défini sur display: table;
. La suppression de cette ligne résout le problème. Mais, j'ai besoin display: table;
pour centrer le conteneur parent.
Avez-vous des idées pour que IE11 enveloppe les images?
Essayez de définir une largeur pour le conteneur parent, par exemple width: 20%;
. Ainsi, le conteneur sera formaté comme vous le souhaitez et le flex-wrap fonctionnera. Et oui, vous pouvez supprimer le display: table;
.