playground:playground
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previa | |||
| playground:playground [2026/10/23 22:18] – Prueba de renderizado de css-flex-grid y sistema-diseno-layout (se restaura) claude | playground:playground [2026/10/23 22:19] (actual) – Restaurado tras la prueba de renderizado claude | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== | + | ====== |
| - | En este tema vamos a explicar el layout en CSS con //flexbox// y //grid//. | + | |
| - | + | ||
| - | + | ||
| - | ===== Flexbox ===== | + | |
| - | Flex se utiliza para colocar cosas de forma horizontal o vertical. | + | |
| - | + | ||
| - | + | ||
| - | * [[https:// | + | |
| - | * {{: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | + | ||
| - | Vamos a explicar flex con el siguiente ejemplo: | + | |
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | < | + | |
| - | < | + | |
| - | <div class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | display: flex; | + | |
| - | flex-direction: | + | |
| - | } | + | |
| - | + | ||
| - | .item-grande { | + | |
| - | flex-grow: 2; | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | Como vemos hay dos tipos de elementos, el contenedor y los items que hay dentro. El contenedor siempre tendrá la siguiente línea '' | + | |
| - | + | ||
| - | * Un item puede ser a su vez un contenedor flex: | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | < | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Ahora veremos algunas de las opciones que permite flex. | + | |
| - | + | ||
| - | ==== flex-direction ==== | + | |
| - | Para hacer que los item se muestren de forma vertical u horizontal. Sus valores son | + | |
| - | + | ||
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== flex-wrap ==== | + | |
| - | Para hacer que si no caben en una línea, se pasen a la línea siguiente. | + | |
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== justify-content ==== | + | |
| - | Es como se distribuye el espacio sobrante en horizontal. Hacía la izquierda, derecha, ocupando todo el espacio, etc, etc. | + | |
| - | + | ||
| - | Alguno de sus posibles valores son: | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== align-content ==== | + | |
| - | Es como se distribuye el espacio sobrante en vertical. Hacía arriba, abajo, ocupando todo el espacio, etc, etc. | + | |
| - | + | ||
| - | Alguno de sus posibles valores son: | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== align-items ==== | + | |
| - | Si los elementos se justifican hacía arriba, abajo, ocupando todo el espacio, etc, etc. | + | |
| - | + | ||
| - | Alguno de sus posibles valores son: | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== flex-grow ==== | + | |
| - | Permite que crezca el item si hay mas espacio. Por defecto el valor es '' | + | |
| - | + | ||
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | + | ||
| - | <note tip>Se usa entro de los " | + | |
| - | + | ||
| - | En el siguiente ejemplo, '' | + | |
| - | <sxh html> | + | |
| - | <div style=" | + | |
| - | <div style=" | + | |
| - | <div style=" | + | |
| - | <div style=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | <note tip> | + | |
| - | Si definimos '' | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | ==== flex-shrink ==== | + | |
| - | Indica que un item puede reducir su tamaño en comparación con otros items cuando el contenedor es más pequeño que el tamaño total de los elementos. | + | |
| - | + | ||
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | + | ||
| - | Ejemplo: Si tienes tres elementos en un contenedor y uno tiene flex-shrink: | + | |
| - | + | ||
| - | + | ||
| - | <note tip>Se usa entro de los " | + | |
| - | + | ||
| - | <note tip> | + | |
| - | Solo tiene sentido usar '' | + | |
| - | + | ||
| - | Ya que si '' | + | |
| - | </ | + | |
| - | + | ||
| - | ==== flex-basis ==== | + | |
| - | Define el tamaño inicial de un item antes de que se aplique el crecimiento o la reducción. Es el tamaño en el que se basa el elemento antes de que el espacio adicional sea distribuido (con '' | + | |
| - | + | ||
| - | <note tip>Se usa entro de los " | + | |
| - | + | ||
| - | Veamos ahora un ejemplo completo de las 3 propiedades: | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | < | + | |
| - | <html lang=" | + | |
| - | < | + | |
| - | <meta charset=" | + | |
| - | <meta name=" | + | |
| - | < | + | |
| - | < | + | |
| - | .contenedor { | + | |
| - | display: flex; | + | |
| - | } | + | |
| - | .item { | + | |
| - | border: 1px solid #FF0000; | + | |
| - | } | + | |
| - | .item1 { | + | |
| - | flex-basis: 300px; | + | |
| - | flex-shrink: | + | |
| - | } | + | |
| - | .item2 { | + | |
| - | flex-basis: 300px; | + | |
| - | flex-shrink: | + | |
| - | } | + | |
| - | .item3 { | + | |
| - | flex-grow: | + | |
| - | } | + | |
| - | </ | + | |
| - | </ | + | |
| - | < | + | |
| - | + | ||
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | + | ||
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | La explicación es: | + | |
| - | * El '' | + | |
| - | * El '' | + | |
| - | * El '' | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ==== flex ==== | + | |
| - | Es poner en una misma linea '' | + | |
| - | + | ||
| - | + | ||
| - | <note tip>Se usa entro de los " | + | |
| - | + | ||
| - | Mas información en: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | + | ||
| - | ==== margin | + | |
| - | Una utilidad de flexbox es hacer menús pero a veces queremos mover algunos item hacia la derecha.El truco para hacerlo es usar '' | + | |
| - | + | ||
| - | + | ||
| - | <sxh html> | + | |
| - | <div style=" | + | |
| - | <div > | + | |
| - | <div > | + | |
| - | <div > | + | |
| - | <div style=" | + | |
| - | <div > | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | En el ejemplo, los items 1 , 2 y 3 estarán pegados a la izquierda y los items 4 y 5 estarán pegados a la derecha. | + | |
| - | + | ||
| - | + | ||
| - | Mas información en: | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | <note tip> | + | |
| - | {{ : | + | |
| - | Para aprender flexbox puede jugar a [[https:// | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Grid ===== | + | |
| - | Grid permite colocar cosas en dos dimensiones. Como si fuera una rejilla (un grid en inglés). | + | |
| - | + | ||
| - | * Guías completas de Grid: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * {{: | + | |
| - | * Grid vs FlexBox: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * Mas información: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | display: | + | |
| - | grid-template-columns: | + | |
| - | grid-template-rows: | + | |
| - | } | + | |
| - | + | ||
| - | .item { | + | |
| - | border:1px solid red; | + | |
| - | } | + | |
| - | </ | + | |
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | ==== grid-template-columns ==== | + | |
| - | Indica el tamaño de cada columna | + | |
| - | + | ||
| - | Las unidades pueden ser: | + | |
| - | * Tamaño fijo: Usar px | + | |
| - | * auto: Coje el menos tamaño posible | + | |
| - | * fr: Es una fracción del espacio libre después de quitar las columnas de tamaño fijo (Las 2 formas anteriores, px y auto) | + | |
| - | + | ||
| - | Ejemplos: | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | + | ||
| - | ==== repeat ==== | + | |
| - | + | ||
| - | Si hay muchas columnas y todas del mismo tamaño en vez de | + | |
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | </ | + | |
| - | se puede escribir: | + | |
| - | <sxh css> | + | |
| - | grid-template-columns: | + | |
| - | </ | + | |
| - | + | ||
| - | \\ | + | |
| - | \\ | + | |
| - | + | ||
| - | o en vez de | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | </ | + | |
| - | se puede escribir: | + | |
| - | <sxh css> | + | |
| - | grid-template-columns: | + | |
| - | </ | + | |
| - | + | ||
| - | ==== auto-fit ==== | + | |
| - | Si el tamaño de las columnas es fijo se puede hacer lo siguiente para no especificar el número de columnas y que sea variable según el ancho de la ventana: | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | </ | + | |
| - | En ese caso ocupará todas las filas que sea necesario para poder poner ponerlo todo. Es una forma de hacer las cosas responsivas. | + | |
| - | + | ||
| - | \\ | + | |
| - | \\ | + | |
| - | + | ||
| - | Por último se puede usar la función '' | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | Que hará que cada columna ocupe como mínimo 100px y si hay mas espacio crecerá hasta ocupar todo. Pero se crearán tantas filas como sea necesario. Mas información en | + | |
| - | + | ||
| - | <note tip> | + | |
| - | La función '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Ejemplo ==== | + | |
| - | Veamos ahora un ejemplo de la diferencia entre '' | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | display: | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | .contenedor2 { | + | |
| - | display: | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | .contenedor3 { | + | |
| - | display: | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | + | ||
| - | .contenedor4 { | + | |
| - | display: | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | + | ||
| - | .item { | + | |
| - | border:1px solid red; | + | |
| - | } | + | |
| - | .item2 { | + | |
| - | border:1px solid green; | + | |
| - | } | + | |
| - | .item3 { | + | |
| - | border:1px solid blue; | + | |
| - | } | + | |
| - | + | ||
| - | .item4 { | + | |
| - | border:1px solid pink; | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | < | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ==== grid-template-rows ==== | + | |
| - | Es lo mismo que '' | + | |
| - | + | ||
| - | ==== gap ==== | + | |
| - | Indica la separación entre cada una de las celdas del grid. | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | gap: 15px 10px; | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | + | ||
| - | <note important> | + | |
| - | La propiedad '' | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ==== span ==== | + | |
| - | Se puede hacer que un elemento ocupe más de una columna con '' | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .contenedor { | + | |
| - | display: grid; | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | + | ||
| - | .doble { | + | |
| - | grid-column: | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | <div class=" | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | * Mas información | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | ==== grid-template-areas ==== | + | |
| - | la propiedad '' | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | <meta charset=" | + | |
| - | <meta name=" | + | |
| - | < | + | |
| - | .contenedor { | + | |
| - | display: grid; | + | |
| - | grid-template-areas: | + | |
| - | " | + | |
| - | " | + | |
| - | "pie pie pie pie pie"; | + | |
| - | } | + | |
| - | + | ||
| - | .cabecera { | + | |
| - | grid-area: cabecera; | + | |
| - | } | + | |
| - | + | ||
| - | .cuerpo { | + | |
| - | grid-area: cuerpo; | + | |
| - | } | + | |
| - | + | ||
| - | .lateral-izquierdo { | + | |
| - | grid-area: lateral-izquierdo; | + | |
| - | } | + | |
| - | + | ||
| - | .lateral-derecho { | + | |
| - | grid-area: lateral-derecho; | + | |
| - | } | + | |
| - | + | ||
| - | .pie { | + | |
| - | grid-area: pie; | + | |
| - | } | + | |
| - | + | ||
| - | + | ||
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Mas información: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | Artículos en general sobre Layout: | + | |
| - | * [[http:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | ===== Ejercicios ===== | + | |
| - | + | ||
| - | ==== Ejercicio 1 ==== | + | |
| - | Haz una página HTML con cabecera, lateral izquierdo, cuerpo, lateral derecho y pie usando '' | + | |
| - | + | ||
| - | Dentro de la cabecera pon un menú hecho con flex en el que los dos últimos elementos estén pegados a la derecha. | + | |
| - | + | ||
| - | ==== Ejercicio 2 ==== | + | |
| - | Crea la siguiente página web [[https:// | + | |
| - | + | ||
| - | Si quieres variar el fondo, puedes obtener | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ====== Sistema de diseño: Layout ====== | + | |
| - | En los temas de CSS vimos flex y grid. En este tema vamos a ver cómo se usan en nuestro sistema de diseño con bloques de layout de BEM (prefijo '' | + | |
| - | + | ||
| - | ===== Bloque de layout con flex ===== | + | |
| - | Un bloque de layout con flex sería así: | + | |
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <sxh css> | + | |
| - | .l-flex { | + | |
| - | display: flex; | + | |
| - | } | + | |
| - | + | ||
| - | .l-flex--direction-row { | + | |
| - | flex-direction: | + | |
| - | } | + | |
| - | + | ||
| - | .l-flex--justify-content-center { | + | |
| - | justify-content: | + | |
| - | } | + | |
| - | + | ||
| - | .l-flex__area--grow2 { | + | |
| - | flex-grow: 2; | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | El padre es el bloque '' | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Bloques de layout con grid ===== | + | |
| - | ==== Bloque de Layout por columnas ==== | + | |
| - | Ejemplo de Layout con BEM por columnas. | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .l-columns { | + | |
| - | display: grid; | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | + | ||
| - | .l-columns--2 { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | .l-columns--3 { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | .l-columns--4 { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <div > | + | |
| - | < | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | ==== span ==== | + | |
| - | Para que un área ocupe dos columnas se usa el modificador '' | + | |
| - | + | ||
| - | <sxh css> | + | |
| - | .l-columns { | + | |
| - | display: grid; | + | |
| - | } | + | |
| - | + | ||
| - | .l-columns--4 { | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | + | ||
| - | .l-columns__area--span2 { | + | |
| - | grid-column: | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Reglas de Layout ===== | + | |
| - | Para hacer una clase de Layout hay que seguir las siguientes reglas: | + | |
| - | * Siempre con dos elementos. | + | |
| - | * El '' | + | |
| - | * Los '' | + | |
| - | * El CSS solo debe tener cosas para modificar la posición (y a veces tamaño) de las Áreas pero no cambiar ni sus colores, fuentes, etc. | + | |
| - | + | ||
| - | * Puede ser optativo poner en las areas la clase del elemento si no tiene utilidad. | + | |
| - | * Las clases CSS de los elementos que son area se llamará ''< | + | |
| - | + | ||
| - | + | ||
| - | <sxh css> | + | |
| - | .l-extremo { | + | |
| - | display: flex; | + | |
| - | } | + | |
| - | + | ||
| - | .l-extremo__area-izquierda { | + | |
| - | margin-right: | + | |
| - | } | + | |
| - | + | ||
| - | .l-extremo__area-derecha { | + | |
| - | margin-left: | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | * En un área se podría poner un componente ya que sus propiedades CSS no van a // | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== Mejorando el layout con SASS ===== | + | |
| - | Los bloques de layout con el selector padre ''&'': | + | |
| - | + | ||
| - | <sxh sass> | + | |
| - | .l-flex { | + | |
| - | display: flex; | + | |
| - | + | ||
| - | & | + | |
| - | flex-direction: | + | |
| - | } | + | |
| - | + | ||
| - | & | + | |
| - | justify-content: | + | |
| - | } | + | |
| - | + | ||
| - | &__area { | + | |
| - | & | + | |
| - | flex-grow: 2; | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | .l-extremo { | + | |
| - | display: flex; | + | |
| - | + | ||
| - | & | + | |
| - | margin-right: | + | |
| - | } | + | |
| - | + | ||
| - | & | + | |
| - | margin-left: | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | Y en '' | + | |
| - | + | ||
| - | <sxh sass> | + | |
| - | .l-columns { | + | |
| - | display: grid; | + | |
| - | grid-template-columns: | + | |
| - | + | ||
| - | @for $i from 1 through 12 { | + | |
| - | & | + | |
| - | grid-template-columns: | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | &__area { | + | |
| - | & | + | |
| - | grid-column: | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Ejercicios ===== | + | |
| - | + | ||
| - | ==== Ejercicio 1 ==== | + | |
| - | Crea los componentes que necesites para que funcione lo siguiente: | + | |
| - | + | ||
| - | <sxh html> | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
playground/playground.1792786735.txt.gz · Última modificación: por claude
