Problemas de los mosaicos con flex en CSS
El primer problema de los mosaicos es bastante obvio de inmediato:
es muy inconveniente que el padre tenga que
establecer explícitamente la altura. Después de todo, bien puede
darse el caso de que la cantidad de bloques cambie
dinámicamente y su número será a veces menor,
a veces mayor que 9.
Y el segundo problema surgirá si la cantidad de bloques es tal que en la última fila haya una cantidad insuficiente de bloques. En este caso, la última fila se verá terrible:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
<div class="child">8</div>
</div>
.parent {
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
width: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Resulta que incluso horizontalmente el valor
space-between funciona mal en nuestro
caso.
Resumiendo: si la cantidad de sus elementos hijos
es siempre constante y cabe bien en
el padre, entonces el mosaico con space-between
es algo bastante conveniente. De lo contrario,
tendrás que pensar en algo más.
Se dan 12 elementos. Haga un mosaico con
4 elementos por fila, con un ancho
de cada elemento de 100px y una distancia
entre ellos de 20px.
Se dan 12 elementos. Haga un mosaico con
3 elementos por fila, con un ancho
de cada elemento de 150px y una distancia
entre ellos de 10px.