⊗mkSpRsTl 126 of 128 menu

Mosaico adaptable sin márgenes en CSS

Hagamos un mosaico que tenga un número diferente de bloques por fila dependiendo del ancho de la pantalla. Aquí hay un ejemplo de lo que deberíamos obtener:

Escribamos primero el código HTML:

<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 class="child">9</div> <div class="child">10</div> <div class="child">11</div> <div class="child">12</div> </div>

Ahora agreguemos estilos al padre de los bloques:

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; }

Ahora establezcamos los estilos para los bloques mismos, sin asignarles ancho:

.child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; }

Obviamente, el ancho de los bloques debe ser en porcentajes, para que al cambiar la pantalla los bloques cambien su ancho suavemente. Al mismo tiempo, en ciertos puntos de la pantalla debemos cambiar el ancho de los bloques para que quepa un número determinado de estos bloques en una fila.

Escribamos el código que colocará cuatro bloques en una fila:

@media (min-width: 1000px) { .child { width: 25%; } }

Y ahora pongamos tres bloques en una fila:

@media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } }

Y ahora pongamos dos bloques en una fila:

@media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } }

Un bloque por fila:

@media (max-width: 400px) { .child { width: 100%; } }

Recopilemos todo el código:

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; } .child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; } @media (max-width: 400px) { .child { width: 100%; } } @media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } } @media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } } @media (min-width: 1000px) { .child { width: 25%; } }

Modifique mi código para que el ancho de los bloques se calcule mediante la función calc.

Cree un mosaico que al reducir la pantalla tenga primero cuatro elementos por fila, luego dos elementos por fila, y luego un elemento por fila.

Cree un mosaico que al reducir la pantalla tenga primero seis elementos por fila, luego tres elementos por fila, y luego un elemento por fila.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar