Processing math: 100%

Herramientas de usuario

Herramientas del sitio


clase:daw:diw:2eval:tema06

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:daw:diw:2eval:tema06 [2024/02/22 12:13]
admin
clase:daw:diw:2eval:tema06 [2025/02/16 22:18] (actual)
admin [Cálculos en CSS]
Línea 26: Línea 26:
 Mas información: Mas información:
   * [[https://css-tricks.com/snippets/html/responsive-meta-tag/|Responsive Meta Tag]]   * [[https://css-tricks.com/snippets/html/responsive-meta-tag/|Responsive Meta Tag]]
-  * [[https://developer.mozilla.org/es/docs/M%C3%B3vil/Viewport_meta_tag|Usando la etiqueta meta viewport para controlar la composición en los navegadores móviles]]+  * [[https://web.archive.org/web/20200415000746/https://developer.mozilla.org/es/docs/M%C3%B3vil/Viewport_meta_tag|Usando la etiqueta meta viewport para controlar la composición en los navegadores móviles]]
   * [[https://developers.google.com/web/fundamentals/design-and-ux/responsive/#set-the-viewport|Configurar la ventana de visualización]]   * [[https://developers.google.com/web/fundamentals/design-and-ux/responsive/#set-the-viewport|Configurar la ventana de visualización]]
   * [[https://github.com/alvaroadlf/HEAD/blob/master/README.md|Todo sobre la cabecera <HEAD>]]   * [[https://github.com/alvaroadlf/HEAD/blob/master/README.md|Todo sobre la cabecera <HEAD>]]
Línea 87: Línea 87:
 } }
 </sxh> </sxh>
 +
 +Otra forma de cambiar el ''font-size'' por defecto es configurar el tamaño de ''1rem'' en el propio navegador. Lo suele hacer gente con diversidad visual. En chrome es en "Configuración --> Aspecto --> Personalizar fuentes"
 +
 +Veamos ahora como se usa ''rem'' en bootstrap para los botones:
 +
 +^ Tamaño botón  ^  Tamaño de fuente  ^  Padding horizontal  ^  Padding vertical  ^
 +| Normal  |  ''1rem''  |  ''0.75rem''  |  ''0.375rem''  |
 +| Grande ''btn-lg'' |  ''1.25rem''  |  ''1rem''  |  ''0.5rem''  |
 +| Pequeño ''btn-sm''  |  ''0.875rem''  |  ''0.5rem''  |  ''0.25rem''  |
 +
 +Vamos ahora los mismo datos pero en ''px'' suponiendo que el tamaño de fuente es ''16px''.
 +
 +^ Tamaño botón  ^  Tamaño de fuente  ^  Padding horizontal  ^  Padding vertical  ^
 +| Normal  |  ''16px''  |  ''12px''  |  ''6px''  |
 +| Grande ''btn-lg''  |  ''20px''  |  ''16px''  |  ''8px''  |
 +| Pequeño ''btn-sm''  |  ''14px''  |  ''8px''  |  ''4px''  |
 +
 +Y por último veamos la relación que hay entre en padding y el tamaño de fuente en %
 +
 +^ Tamaño botón  ^  Padding horizontal respecto \\ del tamaño de fuente    Padding vertical respecto \\ del tamaño de fuente  ^
 +| Normal  |  75%  |  37,5%  |
 +| Grande ''btn-lg''  |  80%  |  40%  |
 +| Pequeño ''btn-sm''  |  57,142%  |  28,571%  |
 +
 +Resulta que no hay una relación constante entre el tamaño de la fuente y el tamaño del padding. 
 +
 +Es decir para un tamaño normal el padding horizontal es el 75% del tamaño de la fuente pero 
 +en un botón grande (que el tamaño de fuente es más grande) el padding horizontal es el 80% del tamaño de la fuente
 +y para terminar en un botón pequeño el padding horizontal es el 57% del tamaño de la fuente. ¿No debería ser constante el tamaño del padding respecto del tamaño de fuente? Por lo tanto si aumentamos el tamaño de fuente en el navegador , los padding no deberían aumentar proporcionalmente sino como vemos que lo hace bootstrap.
  
  
Línea 94: Línea 123:
  
 <note tip>Mi recomendación es usar siempre ''px'' ya que con los modificadores responsivos y nuestro sistema de tamaños , podemos controlar como queda todo.</note> <note tip>Mi recomendación es usar siempre ''px'' ya que con los modificadores responsivos y nuestro sistema de tamaños , podemos controlar como queda todo.</note>
- 
  
  
Línea 197: Línea 225:
  
 ==== Calculo de valores con clamp ==== ==== Calculo de valores con clamp ====
-La siguiente gráfica muestra como funciona ''clamp(200px,60vw,400px)''.+La siguiente gráfica muestra como funciona ''clamp(200px, 59.88vw + 0.59px, 400px)''.
  
 {{ :clase:daw:diw:2eval:clamp.png |}} {{ :clase:daw:diw:2eval:clamp.png |}}
Línea 203: Línea 231:
 Para calcular los tamaños de pantalla donde se producen los cambios (puntos rojos) las variable son las siguientes: Para calcular los tamaños de pantalla donde se producen los cambios (puntos rojos) las variable son las siguientes:
  
-  * wlower: El ancho de pantalla para el valor mínimo. +  * wlower: El ancho de pantalla para el valor mínimo que es ''333px''
-  * wupper: El ancho de pantalla para el valor máximo. +  * wupper: El ancho de pantalla para el valor máximo que es ''667px''
-  * minvalue: El valor mínimo de la propiedad CSS +  * minvalue: El valor mínimo de la propiedad CSS que es ''200px''. 
-  * maxvalue: El valor máximo de la propiedad CSS+  * maxvalue: El valor máximo de la propiedad CSS que es ''400px''.
 \\ \\
-  * pendiente: El valor que se pone en vw.+  * pendiente: El valor que se pone en ''vw'' que es ''59.88vw''.. 
 +  * coeficienteposición: Es el valor que se suma a la pendiente en ''px'' que es ''0.599px''.
  
-$$ 
-pendiente=60 
-\\ 
-min=200 
-\\ 
-max=400 
-$$ 
-\\ 
-\\ 
-$$ 
- 
-w_{lower} * \frac {pendiente}{100}=min_{value} 
-\\ 
-w_{lower} = \frac {min_{value}*100}{pendiente}= \frac {200*100}{60}=333px 
-$$ 
- 
-\\ 
-\\ 
-$$ 
-w_{upper} * \frac {pendiente}{100}=max_{value} 
-\\ 
-w_{upper} = \frac {max_{value}*100}{pendiente}= \frac {400*100}{60}=667px 
- 
- 
-$$ 
  
 +Pero, ¿como calculamos los valores de pendiente y coeficienteposición?.
  
 De forma genérica podemos establecer los valores de las 4 variables de la siguiente forma: De forma genérica podemos establecer los valores de las 4 variables de la siguiente forma:
Línea 244: Línea 249:
  
 $$ $$
-pendiente=\frac {max_{value} - min_{value}}{w_{upper} - w_{lower}}*100+pendiente=\frac {max_{value} - min_{value}}{w_{upper} - w_{lower}} \cdot 100
 \\ \\
-coeficiente_{posición}=min_{value} - \frac{pendiente}{100}*w_{lower}+coeficiente_{posición}=min_{value} - \frac{pendiente}{100} \cdot w_{lower}
 $$ $$
  
Línea 258: Línea 263:
  
 $$ $$
-pendiente=\frac {max_{value} - min_{value}}{w_{upper} - w_{lower}}=\frac {20-12}{600-230}*100=2,1621622+pendiente=\frac {max_{value} - min_{value}}{w_{upper} - w_{lower}} \cdot 100=\frac {20-12}{600-230} \cdot 100=2,1621622
 \\ \\
-coeficiente_{posición}=min_{value} - \frac{pendiente}{100}*w_{lower}=12-\frac{2,1621622}{100}*230=7,02702694+coeficiente_{posición}=min_{value} - \frac{pendiente}{100} \cdot w_{lower}=12-\frac{2,1621622}{100} \cdot 230=7,02702694
 $$ $$
  
Línea 268: Línea 273:
 .c-titulo { .c-titulo {
     font-size: clamp(12px,2.1621622vw + 7.02702694px,20px);     font-size: clamp(12px,2.1621622vw + 7.02702694px,20px);
 +}
 +</sxh>
 +
 +
 +En la primera figura 
 +
 +{{ :clase:daw:diw:2eval:clamp.png?300 |}}
 +
 +cuyos valores eran:
 +  * wlower: 333px
 +  * wupper: 667px
 +  * minvalue: 200px
 +  * maxvalue: 400px
 +
 +Entonces
 +
 +$$
 +pendiente=\frac {max_{value} - min_{value}}{w_{upper} - w_{lower}}\cdot 100=\frac {400-200}{667-333} \cdot 100=59.88
 +\\
 +coeficiente_{posición}=min_{value} - \frac{pendiente}{100} \cdot w_{lower}=200-\frac{59.88}{100} \cdot 333=0.5989
 +$$
 +
 +Por lo tanto el css será:
 +
 +<sxh css>
 +.c-titulo {
 +    font-size: clamp(200px, 59.88vw + 0.5989px, 400px);
 } }
 </sxh> </sxh>
Línea 383: Línea 415:
             }             }
  
 +            .c-table__head--width-1 { 
 +              width: 100px; 
 +              min-width: 100px;   
 +            } 
 +            .c-table__head--width-2 { 
 +              width: 150px; 
 +              min-width: 150px;   
 +            } 
 +            .c-table__head--width-3 { 
 +              width: 200px; 
 +              min-width: 200px;   
 +            }
         </style>         </style>
     </head>     </head>
Línea 397: Línea 440:
                 <th class="c-table__head c-table__head--min-width-2 c-table__head--max-width-3 ">Title</th>                 <th class="c-table__head c-table__head--min-width-2 c-table__head--max-width-3 ">Title</th>
                 <th class="c-table__head c-table__head--min-width-1 c-table__head--max-width-2">Year</th>                 <th class="c-table__head c-table__head--min-width-1 c-table__head--max-width-2">Year</th>
-                <th class="c-table__head c-table__head--min-width-1 c-table__head--max-width-2">ISBN-13</th> +                <th class="c-table__head c-table__head--width-3">ISBN-13</th> 
-                <th class="c-table__head c-table__head--min-width-1 c-table__head--max-width-2">ISBN-10</th>+                <th class="c-table__head c-table__head--width-2">ISBN-10</th>
               </tr>               </tr>
             </thead>             </thead>
Línea 600: Línea 643:
  
   * [[https://dev.to/polypane/css-breakpoints-used-by-popular-css-frameworks-hl9|CSS breakpoints used by popular CSS frameworks]]   * [[https://dev.to/polypane/css-breakpoints-used-by-popular-css-frameworks-hl9|CSS breakpoints used by popular CSS frameworks]]
-  * [[https://gist.github.com/ptibbetts/7b726ae20914c11eb953fdfdf3ee34ed|Comparing Breakpoints in CSS Toolkits and Frameworks]]+  * [[https://gist.github.com/paultibbetts/7b726ae20914c11eb953fdfdf3ee34ed|Comparing Breakpoints in CSS Toolkits and Frameworks]]
  
  
Línea 729: Línea 772:
 </note> </note>
  
-  * Interno/Fluido: Se suele usar con imágenes.+  * Interno/Fluido: Las tablas
  
 <sxh css> <sxh css>
Línea 834: Línea 877:
  
 ==== Ejercicio 5 ==== ==== Ejercicio 5 ====
-Dado el típico layout de cabecera, menú lateral, cuerpo y pie. Haz una página HTML pero de forma que si el tamaño de la pantalla es menor que 500px no se vea el menú lateral. Deberás hacerlo usando BEM+Dado el típico layout de cabecera, menú lateral, cuerpo y pie. Haz una página HTML pero de forma que si el tamaño de la pantalla es menor que 500px no se vea el menú lateral. Deberás hacerlo usando BEM e externo.
  
 ==== Ejercicio 6 ==== ==== Ejercicio 6 ====
 Crea una clase css llamada ''.g--color-fondo-responsivo'' de forma que cambia el color de fondo si el ancho del dispositivo (o ventana) tiene: Crea una clase css llamada ''.g--color-fondo-responsivo'' de forma que cambia el color de fondo si el ancho del dispositivo (o ventana) tiene:
  
-  * Menos de 500px sea de color rojo +  * Menos de 576px sea de color rojo 
-  * Entre 500px 750px sea de color verde +  * Entre 576px 768px sea de color verde 
-  * Entre 750px 1000px sea de color azul +  * Entre 768px 992px sea de color azul 
-  * Más de 1000px sea de color naranja+  * Más de 992px sea de color naranja
  
 Lo usarán en una página HTML donde estará un cuadrado de 200px x 200px Lo usarán en una página HTML donde estará un cuadrado de 200px x 200px
clase/daw/diw/2eval/tema06.1708600420.txt.gz · Última modificación: 2024/02/22 12:13 por admin