|
| 1 | +--- |
| 2 | +title: "Masonry Layout con tres líneas de CSS" |
| 3 | +pubDate: 2025-06-04T22:30:00Z |
| 4 | +tags: ['css'] |
| 5 | +--- |
| 6 | +El masonry layout consiste en un grupo de elementos de tamaño desigual, dispuestos de forma que no haya espacios desiguales. Un claro ejemplo es el menú Metro de Microsoft Windows. |
| 7 | + |
| 8 | +El siguiente ejemplo de código muestra un conjunto de imágenes de diferentes tamaños. |
| 9 | + |
| 10 | +```html |
| 11 | +<div> |
| 12 | + <img src="https://picsum.photos/seed/random10/320/400.jpg" /> |
| 13 | + <img src="https://picsum.photos/seed/random20/300/400.jpg" /> |
| 14 | + <img src="https://picsum.photos/seed/random30/400/400.jpg" /> |
| 15 | + <img src="https://picsum.photos/seed/random40/400/320.jpg" /> |
| 16 | + <img src="https://picsum.photos/seed/random50/400/300.jpg" /> |
| 17 | + <img src="https://picsum.photos/seed/random60/400/400.jpg" /> |
| 18 | + <img src="https://picsum.photos/seed/random70/320/400.jpg" /> |
| 19 | + <img src="https://picsum.photos/seed/random80/300/400.jpg" /> |
| 20 | + <img src="https://picsum.photos/seed/random90/400/400.jpg" /> |
| 21 | + <img src="https://picsum.photos/seed/random100/320/400.jpg" /> |
| 22 | + <img src="https://picsum.photos/seed/random110/400/300.jpg" /> |
| 23 | +</div> |
| 24 | +``` |
| 25 | + |
| 26 | +Así es como se ven inicialmente las imágenes en la pantalla: |
| 27 | + |
| 28 | + |
| 29 | +Las tres líneas de CSS a aplicar son las propiedades `column`, `gap` y `width`. |
| 30 | + |
| 31 | +```css |
| 32 | +div { |
| 33 | + columns: 320px; |
| 34 | + gap: 4px; |
| 35 | +} |
| 36 | +img { |
| 37 | + width: 100%; |
| 38 | +} |
| 39 | +``` |
| 40 | + |
| 41 | +Así es como se ven las imágenes después de aplicarlas: |
| 42 | + |
| 43 | + |
| 44 | +El diseño incluso se adapta a diferentes tamaños y orientaciones de pantalla: |
| 45 | + |
| 46 | + |
| 47 | +Gracias a los avances de CSS, un diseño complejo que antes requería múltiples líneas de CSS, además del uso de JavaScript, ahora se puede implementar con solo unas pocas líneas de CSS. |
0 commit comments