css - que - Flexbox/IE11: flex-wrap: wrap no se ajusta(Imágenes+Codepen dentro)
inline flex (1)
He creado una lista con iconos sociales. Esos iconos deben envolverse en pantallas pequeñas.
Yo uso flex-wrap: wrap;
y funciona perfecto en Firefox y Chrome:
Pero Internet Explorer 11 (y IE 10) no interrumpirán la línea:
Ejemplo de código de pluma
Vea el código aquí: http://codepen.io/dash/pen/PqOJrG
código 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>
Código 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;
}
Esto parece ser un error de IE que se muestra cuando el contenedor primario de un elemento flex está configurado para display: table;
. Eliminar esta línea soluciona el problema. Pero necesito display: table;
para centrar el contenedor padre.
¿Alguna idea de cómo obtener IE11 para envolver las imágenes?
Intente definir un ancho para el contenedor principal, por ejemplo, width: 20%;
. Por lo tanto, el contenedor tendrá el formato que desee y flex-wrap funcionará. Y sí, puedes quitar la display: table;
.