clase:daw:diw:1eval:tema06
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| clase:daw:diw:1eval:tema06 [2025/11/03 11:37] – creado - editor externo 127.0.0.1 | clase:daw:diw:1eval:tema06 [2025/11/07 12:28] (actual) – Lorenzo | ||
|---|---|---|---|
| Línea 6: | Línea 6: | ||
| Flex se utiliza para colocar cosas de forma horizontal o vertical. | Flex se utiliza para colocar cosas de forma horizontal o vertical. | ||
| - | | + | |
| + | | ||
| * {{css_flexbox_layout_cheatsheet.pdf|Flexbox Layout Cheatsheet. Otra gía rápida de flexbox}} | * {{css_flexbox_layout_cheatsheet.pdf|Flexbox Layout Cheatsheet. Otra gía rápida de flexbox}} | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[https:// | + | * [[https:// |
| Vamos a explicar flex con el siguiente ejemplo: | Vamos a explicar flex con el siguiente ejemplo: | ||
| <sxh html> | <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=" |
| </ | </ | ||
| </ | </ | ||
| Línea 26: | Línea 28: | ||
| <sxh css> | <sxh css> | ||
| - | .flex { | + | .l-flex { |
| - | display: flex; | + | display: flex; |
| - | | + | & |
| - | flex-direction: | + | |
| - | } | + | } |
| - | | + | & |
| - | justify-content: | + | |
| - | } | + | } |
| - | | + | &__area { |
| - | // Si tuvieras más propiedades para el área, las pondrías aquí | + | |
| - | & | + | |
| - | flex-grow: 2; | + | flex-grow: 2; |
| - | } | + | |
| - | } | + | } |
| } | } | ||
| Línea 49: | Línea 51: | ||
| Como vemos hay dos tipos de elementos, el contenedor y los items que hay centro. El contenedor siempre tendrá la siguiente línea '' | Como vemos hay dos tipos de elementos, el contenedor y los items que hay centro. El contenedor siempre tendrá la siguiente línea '' | ||
| - | | + | * Veamos otro ejemplo: |
| <sxh html> | <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=" |
| </ | </ | ||
| </ | </ | ||
| Línea 71: | Línea 73: | ||
| Para hacer que los item se muestren de forma vertical u horizontal. Sus valores son | Para hacer que los item se muestren de forma vertical u horizontal. Sus valores son | ||
| - | | + | * '' |
| {{: | {{: | ||
| - | | + | * '' |
| {{: | {{: | ||
| Línea 81: | Línea 83: | ||
| ==== flex-wrap ==== | ==== flex-wrap ==== | ||
| Para hacer que si no caben en una línea, se pasen a la línea siguiente. | Para hacer que si no caben en una línea, se pasen a la línea siguiente. | ||
| - | | + | * '' |
| {{: | {{: | ||
| Línea 89: | Línea 91: | ||
| Alguno de sus posibles valores son: | Alguno de sus posibles valores son: | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| {{: | {{: | ||
| Línea 102: | Línea 104: | ||
| Alguno de sus posibles valores son: | Alguno de sus posibles valores son: | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| {{: | {{: | ||
| Línea 115: | Línea 117: | ||
| Alguno de sus posibles valores son: | Alguno de sus posibles valores son: | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| {{: | {{: | ||
| Línea 126: | Línea 128: | ||
| Permite que crezca el item si hay mas espacio. Por defecto el valor es '' | Permite que crezca el item si hay mas espacio. Por defecto el valor es '' | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| {{: | {{: | ||
| Línea 138: | Línea 140: | ||
| <sxh html> | <sxh html> | ||
| <div style=" | <div style=" | ||
| - | | + | <div style=" |
| - | <div style=" | + | |
| - | <div style=" | + | |
| </ | </ | ||
| </ | </ | ||
| Línea 152: | Línea 154: | ||
| 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. | 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. | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| Línea 162: | Línea 164: | ||
| <note tip> | <note tip> | ||
| - | Solo tiene sentido usar '' | + | Solo tiene sentido usar '' |
| Ya que si '' | Ya que si '' | ||
| Línea 178: | Línea 180: | ||
| <html lang=" | <html lang=" | ||
| < | < | ||
| - | | + | <meta charset=" |
| - | <meta name=" | + | |
| - | < | + | |
| - | < | + | |
| - | .container { | + | .container { |
| - | display: flex; | + | display: flex; |
| - | } | + | } |
| - | .item { | + | .item { |
| - | border: 1px solid #FF0000; | + | border: 1px solid #FF0000; |
| - | } | + | } |
| - | .item1 { | + | .item1 { |
| - | flex-basis: 300px; | + | flex-basis: 300px; |
| - | flex-shrink: | + | flex-shrink: |
| - | } | + | } |
| - | .item2 { | + | .item2 { |
| - | flex-basis: 300px; | + | flex-basis: 300px; |
| - | flex-shrink: | + | flex-shrink: |
| - | } | + | } |
| - | .item3 { | + | .item3 { |
| - | flex-grow: | + | flex-grow: |
| - | } | + | } |
| - | </ | + | |
| </ | </ | ||
| < | < | ||
| <div class=" | <div class=" | ||
| - | | + | <div class=" |
| - | <div class=" | + | |
| - | <div class=" | + | |
| </ | </ | ||
| Línea 214: | Línea 216: | ||
| La explicación es: | La explicación es: | ||
| - | | + | * El '' |
| - | * El '' | + | * El '' |
| - | * El '' | + | * El '' |
| Línea 228: | Línea 230: | ||
| Mas información en: | Mas información en: | ||
| - | | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| - | ==== margin | + | ==== 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 '' | Una utilidad de flexbox es hacer menús pero a veces queremos mover algunos item hacia la derecha.El truco para hacerlo es usar '' | ||
| Línea 240: | Línea 242: | ||
| <sxh html> | <sxh html> | ||
| <div style=" | <div style=" | ||
| - | | + | <div > |
| - | <div > | + | <div > |
| - | <div > | + | <div > |
| - | <div style=" | + | <div style=" |
| - | <div > | + | <div > |
| </ | </ | ||
| </ | </ | ||
| Línea 253: | Línea 255: | ||
| Mas información en: | Mas información en: | ||
| - | | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| <note tip> | <note tip> | ||
| Línea 265: | Línea 267: | ||
| Grid permite colocar cosas en dos dimensiones. Como si fuera una rejilla (un grid en inglés). | 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:// | + | |
| - | * {{css_grid_layout_cheatsheet.pdf|}} | + | |
| - | * Grid vs FlexBox: | + | * Grid vs FlexBox: |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * Mas información: | + | * Mas información: |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| display: | display: | ||
| - | grid-template-columns: | + | grid-template-columns: |
| - | grid-template-rows: | + | grid-template-rows: |
| } | } | ||
| Línea 294: | Línea 296: | ||
| <sxh html> | <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=" |
| </ | </ | ||
| </ | </ | ||
| Línea 306: | Línea 308: | ||
| Indica el tamaño de cada columna | Indica el tamaño de cada columna | ||
| - | Las unidades pueden ser: | + | Las unidades pueden ser: |
| - | * Tamaño fijo: Usar px | + | * Tamaño fijo: Usar px |
| - | * auto: Coje el menos tamaño posible | + | * 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) | + | * 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: | Ejemplos: | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| Línea 322: | Línea 324: | ||
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| - | | + | grid-template-columns: |
| - | } | + | } |
| - | </ | + | </ |
| se puede escribir: | se puede escribir: | ||
| <sxh css> | <sxh css> | ||
| - | | + | grid-template-columns: |
| </ | </ | ||
| Línea 333: | Línea 335: | ||
| \\ | \\ | ||
| - | o | + | o en vez de |
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| - | | + | grid-template-columns: |
| - | } | + | } |
| - | </ | + | </ |
| se puede escribir: | se puede escribir: | ||
| <sxh css> | <sxh css> | ||
| - | | + | grid-template-columns: |
| </ | </ | ||
| Línea 350: | Línea 352: | ||
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| - | | + | grid-template-columns: |
| - | } | + | } |
| - | </ | + | </ |
| - | En ese caso ocupará todas las | + | En ese caso ocupará todas las filas que sea necesario para poder poner ponerlo todo. Es una forma de hacer las cosas responsivas. |
| \\ | \\ | ||
| Línea 362: | Línea 364: | ||
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| - | | + | 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 | + | 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 |
| <note tip> | <note tip> | ||
| La función '' | La función '' | ||
| - | | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| </ | </ | ||
| Línea 381: | Línea 383: | ||
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| - | | + | display: |
| - | grid-template-columns: | + | |
| } | } | ||
| .container2 { | .container2 { | ||
| - | | + | display: |
| - | grid-template-columns: | + | |
| } | } | ||
| .container3 { | .container3 { | ||
| - | | + | display: |
| - | grid-template-columns: | + | |
| - | } | + | } |
| .container4 { | .container4 { | ||
| - | | + | display: |
| - | grid-template-columns: | + | |
| - | } | + | } |
| - | + | ||
| .item { | .item { | ||
| - | | + | border:1px solid red; |
| } | } | ||
| .item2 { | .item2 { | ||
| - | | + | border:1px solid green; |
| } | } | ||
| .item3 { | .item3 { | ||
| - | | + | border:1px solid blue; |
| } | } | ||
| .item4 { | .item4 { | ||
| - | | + | border:1px solid pink; |
| } | } | ||
| </ | </ | ||
| <sxh html> | <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=" |
| </ | </ | ||
| <br> | <br> | ||
| < | < | ||
| <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=" |
| </ | </ | ||
| <br> | <br> | ||
| < | < | ||
| <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=" |
| </ | </ | ||
| Línea 472: | Línea 474: | ||
| <sxh css> | <sxh css> | ||
| .container { | .container { | ||
| - | | + | gap: 15px 10px; |
| } | } | ||
| </ | </ | ||
| Línea 480: | Línea 482: | ||
| <note important> | <note important> | ||
| - | La propiedad '' | + | La propiedad '' |
| Línea 488: | Línea 490: | ||
| <sxh css> | <sxh css> | ||
| - | .columns { | + | .l-columns { |
| - | display: grid; | + | display: grid; |
| - | grid-template-columns: | + | grid-template-columns: |
| } | } | ||
| - | .columns--2 { | + | .l-columns--2 { |
| - | grid-template-columns: | + | grid-template-columns: |
| } | } | ||
| - | .columns--3 { | + | .l-columns--3 { |
| - | grid-template-columns: | + | grid-template-columns: |
| } | } | ||
| - | .columns--4 { | + | .l-columns--4 { |
| - | grid-template-columns: | + | grid-template-columns: |
| } | } | ||
| Línea 508: | Línea 510: | ||
| <sxh html> | <sxh html> | ||
| - | <div class=" | + | <div class=" |
| - | < | + | < |
| - | < | + | |
| - | </ | + | </ |
| - | <div > | + | <div > |
| - | < | + | |
| - | </ | + | </ |
| - | < | + | < |
| - | < | + | |
| - | </ | + | </ |
| - | < | + | < |
| - | < | + | |
| - | </ | + | </ |
| - | < | + | < |
| - | < | + | |
| - | </ | + | </ |
| - | < | + | < |
| - | < | + | |
| - | </ | + | </ |
| </ | </ | ||
| </ | </ | ||
| Línea 534: | Línea 536: | ||
| <sxh css> | <sxh css> | ||
| - | .columns { | + | .l-columns { |
| - | display: grid; | + | display: grid; |
| - | | + | &--4 { |
| - | grid-template-columns: | + | |
| - | } | + | } |
| - | | + | &__area { |
| - | // Si tuvieras más estilos para el área, irían aquí | + | |
| - | & | + | |
| - | grid-column: | + | grid-column: |
| - | } | + | |
| - | } | + | } |
| } | } | ||
| </ | </ | ||
| Línea 552: | Línea 554: | ||
| <sxh html> | <sxh html> | ||
| - | | + | <div class=" |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | <div class=" | + | |
| - | </ | + | </ |
| </ | </ | ||
| - | | + | * Mas información |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| ==== grid-template-areas ==== | ==== grid-template-areas ==== | ||
| Línea 573: | Línea 575: | ||
| < | < | ||
| < | < | ||
| - | | + | < |
| - | < | + | < |
| - | <meta charset=" | + | <meta charset=" |
| - | <meta name=" | + | <meta name=" |
| - | < | + | < |
| - | .contenedor { | + | .contenedor { |
| - | display: grid; | + | display: grid; |
| - | grid-template-areas: | + | grid-template-areas: |
| - | " | + | " |
| - | " | + | " |
| - | "pie pie pie pie pie"; | + | "pie pie pie pie pie"; |
| - | } | + | } |
| - | | + | .cabecera { |
| - | grid-area: cabecera; | + | grid-area: cabecera; |
| - | } | + | } |
| - | | + | .cuerpo { |
| - | grid-area: cuerpo; | + | grid-area: cuerpo; |
| - | } | + | } |
| - | | + | .lateral-izquierdo { |
| - | grid-area: lateral-izquierdo; | + | grid-area: lateral-izquierdo; |
| - | } | + | } |
| - | | + | .lateral-derecho { |
| - | grid-area: lateral-derecho; | + | grid-area: lateral-derecho; |
| - | } | + | } |
| - | | + | .pie { |
| - | grid-area: pie; | + | grid-area: pie; |
| - | } | + | } |
| - | | + | </ |
| - | </ | + | |
| - | | + | < |
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | <div class=" |
| - | </ | + | </ |
| - | </ | + | |
| </ | </ | ||
| Línea 624: | Línea 626: | ||
| Mas información: | Mas información: | ||
| - | | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| ===== Reglas de Layout ===== | ===== Reglas de Layout ===== | ||
| Para hacer una clase de Layout hay que seguir las siguientes reglas: | 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. | + | * 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á ''< | + | * Las clases CSS de los elementos que son area se llamará ''< |
| <sxh css> | <sxh css> | ||
| - | .extremo { | + | .l-extremo { |
| - | display: | + | display: |
| - | + | ||
| - | & | + | & |
| - | margin-right: | + | |
| - | } | + | } |
| - | & | + | & |
| - | margin-left: | + | |
| - | } | + | } |
| } | } | ||
| - | .columns { | + | .l-columns { |
| - | display: grid; | + | display: grid; |
| - | grid-template-columns: | + | grid-template-columns: |
| - | | + | @for $i from 1 to 12 { |
| - | & | + | |
| - | grid-template-columns: | + | grid-template-columns: |
| - | } | + | |
| - | } | + | } |
| - | + | ||
| - | &__area { | + | &__area { |
| - | } | + | } |
| } | } | ||
| - | | + | |
| - | + | ||
| </ | </ | ||
| <sxh html> | <sxh html> | ||
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | |
| - | <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 //chocar//. |
| <sxh html> | <sxh html> | ||
| - | <div class=" | + | <div class=" |
| - | <div class=" | + | |
| - | <div class=" | + | |
| </ | </ | ||
| </ | </ | ||
| Línea 691: | Línea 693: | ||
| Artículos en general sobre Layout | Artículos en general sobre Layout | ||
| - | | + | * [[http:// |
| - | * [[https:// | + | * [[https:// |
| Línea 702: | Línea 704: | ||
| <sxh html> | <sxh html> | ||
| < | < | ||
| - | | + | < |
| - | < | + | < |
| - | < | + | < |
| - | < | + | < |
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
clase/daw/diw/1eval/tema06.1762166241.txt.gz · Última modificación: por 127.0.0.1
