Es posible que haya llegado a un acuerdo con el uso de unidades de medida flexibles, pero es posible que no entienda completamente cuándo usar movimiento rápido del ojo
y cuando usar em
. Este tutorial te ayudará a resolverlo.!
Ambos em
y movimiento rápido del ojo
son unidades flexibles y escalables que el navegador traduce en valores de píxeles, según la configuración de tamaño de fuente en su diseño. Si usas un valor de 1em
o 1rem
, Se podría traducir en el navegador como algo de 16px
a 160px
o cualquier otro valor.
Por otra parte px
Los valores son utilizados por el navegador tal cual, por lo que 1px
siempre se mostrará exactamente 1px
.
Pruebe el control deslizante en este ejemplo de CodePen para ver cómo el valor de movimiento rápido del ojo
y em
las unidades se pueden traducir a diferentes valores de píxeles, mientras se establecen explícitamente px
Las unidades permanecen fijas en tamaño:
Utilizando em
y movimiento rápido del ojo
Las unidades nos brindan flexibilidad en nuestros diseños y la capacidad de escalar elementos hacia arriba y hacia abajo, en lugar de estar atascados con tamaños fijos. Podemos usar esta flexibilidad para hacer que nuestros diseños sean más fáciles de ajustar durante el desarrollo, más receptivos y para permitir que los usuarios del navegador controlen la escala general de los sitios para una máxima legibilidad.
Ambos em
y movimiento rápido del ojo
Las unidades proporcionan esta flexibilidad y funcionan de manera similar, por lo que la gran pregunta es cuándo debemos usar em
valores y cuando debemos usar movimiento rápido del ojo
valores?
La diferencia entre em
y movimiento rápido del ojo
unidades es cómo el navegador determina la px
valor que se traducen en. Comprender esta diferencia es la clave para determinar cuándo usar cada unidad.
Vamos a empezar repasando cómo movimiento rápido del ojo
y em
Las unidades trabajan desde cero para asegurarse de que conocen cada detalle. Entonces vamos a pasar a por qué Deberías usar em
o movimiento rápido del ojo
unidades.
Finalmente, veremos la aplicación práctica de exactamente qué elementos de un diseño típico debe usar cada tipo de unidad en.
movimiento rápido del ojo
Unidades de conversión a valores de píxelesCuando usas movimiento rápido del ojo
unidades, el tamaño de píxel al que se traducen depende del tamaño de fuente del elemento raíz de la página, es decir, el html
elemento. Ese tamaño de fuente raíz se multiplica por el número que esté utilizando con su movimiento rápido del ojo
unidad.
Por ejemplo, con un tamaño de fuente de elemento raíz de 16px
, 10rem
equivaldría a 160px
, es decir, 10 x 16 = 160.
em
Unidades de conversión a valores de píxelesCuando usas em
unidades, el valor de píxel con el que termina es una multiplicación del tamaño de fuente en el elemento que se está diseñando.
Por ejemplo, si un div tiene un tamaño de fuente de 18px
, 10em
equivaldría a 180px
, es decir, 10 x 18 = 180.
Es un error un tanto generalizado que em
las unidades son relativas al tamaño de fuente del elemento padre. De hecho, según la especificación W3, son relativos al tamaño de fuente "del elemento en el que se utilizan".
Tamaños de fuente del elemento principal puede efecto em
Valores, pero cuando eso sucede es únicamente por herencia. Veamos por qué y veamos cómo funciona esto en acción..
em
UnidadesTrabajando con em
las unidades pueden comenzar a complicarse cuando se trata de la herencia, porque cada elemento hereda automáticamente el tamaño de fuente de su padre. El efecto de la herencia solo puede anularse estableciendo explícitamente un tamaño de fuente con una unidad que no esté sujeta a herencia, como px
o vw
.
El tamaño de fuente del elemento en el que em
Las unidades que se utilizan determinan su tamaño. Pero ese elemento puede haber heredado un tamaño de fuente de su padre, que heredó un tamaño de fuente de su padre, y así sucesivamente. Como tal es posible para cualquier em
Valor a ser efectuado por el tamaño de fuente de cualquiera de sus padres..
Veamos un ejemplo. Siéntete libre de probar esto en CodePen por ti mismo a medida que avanzamos en él. A medida que avanza, use Chrome Developer Tools o Firebug para Firefox para inspeccionar los valores de píxeles que nuestro em
las unidades se calculan en.
em
HerenciaSi tenemos una página con un tamaño de fuente raíz de 16px
(por lo general, el valor predeterminado) y un div niño en su interior con relleno de 1.5em
, que div heredará el tamaño de fuente de 16px
desde el elemento raíz. Por lo tanto su relleno se traducirá a 24px
, es decir, 1.5 x 16 = 24.
Entonces, ¿qué pasa si envolvemos otro div alrededor del primero y configuramos su tamaño de fuente
a 1.25em
?
Nuestra envoltura div hereda el tamaño de fuente de la raíz 16px
y multiplica eso por su propia cuenta. tamaño de fuente
ajuste de 1.25em
. Esto establece el div para tener un tamaño de fuente de 20px
, es decir, 1.25 x 16 = 20.
Ahora nuestro div original ya no se hereda directamente del elemento raíz, en lugar de eso, está heredando un tamaño de fuente de 20px
a partir de su nuevo div padre. Su valor de relleno de 1.5em
ahora equivale a 30px
, es decir, 1.5 x 20 = 30.
Este efecto de escala se puede aumentar aún más si añadimos un em
tamaño de fuente basado en nuestro div original, digamos 1.2em
.
El div hereda el 20px
tamaño de fuente de su padre, luego multiplica eso por su propia 1.2em
configuración, dándole un nuevo tamaño de fuente de 24px
, es decir, 1.2 x 20 = 24.
los 1.5em
el relleno en nuestra div ahora cambiará de tamaño nuevamente con el nuevo tamaño de fuente, esta vez para 36px
, es decir, 1.5 x 24 = 36.
Por último, para ilustrar aún más que em
las unidades son relativas al tamaño de fuente del elemento en el que se utilizan, (no el elemento principal), veamos qué sucede con nuestro relleno de 1.5em
Si establecemos explícitamente el div para utilizar un tamaño de fuente de 14px
, un valor no sujeto a herencia.
Ahora, nuestro relleno se ha reducido a 21px, es decir, 1.5 x 14 = 21. No se ve afectado por el tamaño de fuente del elemento principal.
Con todo este potencial de complicación, puede ver por qué es importante saber cómo usar em
unidades de una manera manejable.
Por defecto, los navegadores suelen tener un tamaño de fuente de 16px, pero el usuario puede cambiar este valor en cualquier lugar de 9px a 72px.
La raíz html
el elemento hereda su tamaño de fuente de la configuración en el navegador, a menos que se invalide con un valor fijo establecido explícitamente.
Así, mientras que el tamaño de fuente en la html
elemento es lo que determina directamente movimiento rápido del ojo
Valores, que el tamaño de la fuente puede provenir primero de la configuración del navegador.
Por lo tanto, la configuración del tamaño de fuente del navegador puede afectar el valor de cada movimiento rápido del ojo
unidad utilizada en un diseño, así como cada em
unidad por herencia.
A menos que se invalide, el html
elemento que heredará cualquiera que sea la configuración de tamaño de fuente predeterminada en el navegador. Por ejemplo, tomemos un sitio donde no tamaño de fuente
propiedad se establece en el html
elemento.
Si un usuario tiene su navegador en el tamaño de fuente predeterminado de 16px, el tamaño de fuente de la raíz será 16px. En Chrome Developer Tools puedes ver lo que un elemento ha heredado al verificar Mostrar propiedades heredadas bajo la Computado lengüeta.
En este caso 10rem
Igual a 160px
, es decir, 10 x 16 = 160.
Si el usuario aumenta el tamaño de fuente de su navegador hasta 18px, el tamaño de fuente de la raíz se convierte en 18px. Ahora 10rem
traduce a 180px
, es decir, 10 x 18 = 180.
em
Unidad de tamaño de fuente HTMLCuando un em
tamaño de fuente basado se establece en el html
elemento, el valor de píxel al que se traducirá será un múltiplo de la configuración de tamaño de fuente del navegador.
Por ejemplo, si el sitio html
elemento tenía un tamaño de fuente
propiedad establecida en 1.25em
, el tamaño de fuente raíz sería 1.25 veces la configuración de tamaño de fuente del navegador.
Si el tamaño de la fuente del navegador se estableció en 16px
, el tamaño de la fuente raíz saldría como 20px
, es decir, 1.25 x 16 = 20.
En este caso 10rem
sería igual 200px
, es decir, 10 x 20 = 200.
Sin embargo, si el tamaño de la fuente del navegador se estableció en 20px
, el tamaño de la fuente raíz se traduciría a 25px
, es decir, 1.25 x 20 = 25.
Ahora 10rem
sería igual 250px
, es decir, 10 x 25 = 250.
em
vs. movimiento rápido del ojo
DiferenciaLo que todo lo anterior se reduce a esto es:
Traducción de movimiento rápido del ojo
El valor de las unidades en píxeles se determina por el tamaño de fuente de html
elemento. Este tamaño de fuente se ve influenciado por la herencia de la configuración del tamaño de fuente del navegador a menos que se invalide explícitamente con una unidad que no esté sujeta a herencia.
Traducción de em
Las unidades a los valores de píxel están determinadas por el tamaño de fuente del elemento en el que se utilizan. Este tamaño de fuente está influenciado por la herencia de los elementos principales, a menos que se invalide explícitamente con una unidad que no esté sujeta a herencia..
movimiento rápido del ojo
Unidades:El mayor poder que movimiento rápido del ojo
La oferta de unidades no es solo que ofrezcan un tamaño consistente independientemente de la herencia del elemento. Más bien, es que nos dan una manera de que la configuración del tamaño de fuente del usuario influya en cada aspecto del diseño de un sitio usando movimiento rápido del ojo
unidades donde solíamos usar px
unidades.
Por esta razón, el propósito principal de usar movimiento rápido del ojo
las unidades deben ser para garantizar que, independientemente del tamaño de fuente predeterminado que un usuario tenga configurado para su navegador, el diseño se ajustará para adaptarse al tamaño del texto que contiene..
Se puede diseñar un sitio inicialmente enfocándose en el tamaño de fuente de navegador predeterminado más común de 16px.
Tamaño de fuente del navegador 16pxPero usando movimiento rápido del ojo
Unidades, si un usuario aumenta su tamaño de fuente, se preservará la integridad del diseño, y el texto no se aplastará en un espacio rígido destinado a texto más pequeño.
Y si el usuario disminuye el tamaño de la fuente, el diseño completo se reduce y no quedará con una pequeña cantidad de texto en un terreno baldío..
Tamaño de fuente del navegador 9pxLos usuarios cambian la configuración de tamaño de fuente por todo tipo de razones, desde la vista forzada hasta la elección de configuraciones óptimas para dispositivos que pueden ser muy diferentes en tamaño y distancia de visualización. Acomodar estos ajustes permite experiencias de usuario mucho mejores.
Algunos diseñadores usan movimiento rápido del ojo
Diseños basados en conjunto con un fijo px
unidad tamaño de fuente
puesta en el html
elemento. Esto se hace normalmente para que un cambio de tamaño de fuente en el html
El elemento puede escalar en general el diseño hacia arriba o hacia abajo..
Recomiendo fuertemente esto, ya que anula el tamaño de fuente del html
elemento hereda de la configuración del navegador del usuario. Por lo tanto, esto evita que la configuración tenga algún efecto y elimina la capacidad del usuario de optimizar para una mejor visualización..
Si desea cambiar el tamaño de fuente en la html
elemento, hacerlo con una em
o movimiento rápido del ojo
El valor como el tamaño de la fuente raíz seguirá siendo un múltiplo de la configuración del tamaño de fuente del navegador del usuario..
Esto aún le permitirá escalar su diseño hacia arriba o hacia abajo cambiando su html
tamaño de fuente del elemento, pero conservará el efecto de la configuración del navegador del usuario.
em
UnidadesEl valor clave em
La oferta de unidades es que permiten que los valores de tamaño se determinen por un tamaño de fuente diferente al de la fuente. html
elemento.
Por esta razón, el propósito principal de em
Las unidades deben ser para permitir la escalabilidad dentro del contexto de un elemento de diseño específico.
Por ejemplo, puede establecer la relleno
, margen
y altura de la línea
alrededor de un elemento del menú de navegación para usar em
valores.
De esta manera, si cambia el tamaño de fuente del menú, el espaciado alrededor de los elementos del menú se escalará proporcionalmente, independientemente del resto del diseño..
Menú con tamaño de letra 1.2remEn la sección anterior sobre la herencia, vio cuán rápido realizar el seguimiento de em
Las unidades pueden salirse de control. Por este motivo, recomiendo solamente utilizando em
Unidades si identificas una clara necesidad de ellas..
Puede haber algún debate entre los diseñadores web y estoy seguro de que diferentes personas tienen diferentes enfoques preferidos, sin embargo, mi recomendación es la siguiente.
em
Unidades para:Cualquier tamaño que debería escala en función del tamaño de fuente de un elemento distinto de la raíz.
En general, la única razón por la que necesitarás usar em
Unidades es escalar un elemento que tiene un tamaño de fuente no predeterminado.
Según nuestro ejemplo anterior, los componentes de diseño como elementos de menú, botones y encabezados pueden tener sus propios tamaños de fuente explícitamente establecidos. Si cambia estos tamaños de fuente, desea que todo el componente se amplíe proporcionalmente.
Las propiedades comunes a las que se aplicará esta directriz son: margen
, relleno
, anchura
, altura
y altura de la línea
configuración, cuando se utiliza en elementos con tamaño de fuente no predeterminado.
Recomiendo que cuando lo emplee. em
unidades, el tamaño de fuente del elemento en el que se usan debe establecerse en movimiento rápido del ojo
Unidades para preservar la escalabilidad pero evitar la confusión de herencia..
em
Unidades para tamaños de fuenteEs bastante común ver em
las unidades utilizadas para el tamaño de fuente, particularmente en los encabezados, sin embargo, sugeriría que los diseños son más manejables si movimiento rápido del ojo
las unidades se utilizan normalmente para el tamaño de la fuente.
Los encabezados de la razón usan a menudo em
unidades es que son una mejor opción que px
Unidades, siendo relativas al tamaño del texto regular. sin embargo movimiento rápido del ojo
Las unidades pueden lograr este objetivo igualmente bien. Si cualquier ajuste de tamaño de fuente en la html
El elemento está hecho, los tamaños de los encabezados también se escalarán..
Intenta cambiar el em
tamaño de letra en el html
Elemento en este CodePen para ver por ti mismo:
La mayoría de las veces, no queremos que nuestros tamaños de fuente se amplíen en función de ningún elemento que no sea la raíz, con solo algunas excepciones..
Un ejemplo donde podríamos querer em
el tamaño de fuente basado podría ser un menú desplegable, donde tenemos el tamaño del texto del elemento del menú de segundo nivel dependiendo del tamaño de fuente del primer nivel. Otro ejemplo podría ser un icono de fuente usado dentro de un botón, donde el tamaño del icono debe relacionarse con el tamaño del texto del botón..
Sin embargo, la mayoría de los elementos en un diseño web tienden a no tener este tipo de requisito, por lo que generalmente querrá usar movimiento rápido del ojo
Unidades para tamaño de fuente, con em
unidades solo donde se necesiten específicamente.
movimiento rápido del ojo
Unidades para:Cualquier tamaño que no necesite em
unidades por las razones descritas anteriormente, y que deben escala dependiendo de la configuración de tamaño de fuente del navegador.
Esto representa casi todo en un diseño estándar que incluye la mayoría de las alturas, la mayoría de los anchos, la mayoría del relleno, la mayoría de los márgenes, los anchos de los bordes, la mayoría de los tamaños de fuente, las sombras, básicamente casi todas las partes de su diseño.
En pocas palabras, todo lo que se puede hacer escalable con movimiento rápido del ojo
unidades, debe ser.
Cuando se crean diseños, a menudo es más fácil pensar en píxeles pero generar resultados en movimiento rápido del ojo
unidades.
Puedes tener pixel para movimiento rápido del ojo
cálculos realizados automáticamente a través de un preprocesador como Stylus / Sass / Less, o un postprocesador como PostCSS con el complemento PXtoRem.
Alternativamente, puedes usar PXtoEM para hacer tus conversiones manualmente.
movimiento rápido del ojo
Preguntas de los mediosEs importante destacar que, cuando se utiliza movimiento rápido del ojo
unidades para crear un diseño escalable de manera uniforme, sus consultas de medios también deben estar en movimiento rápido del ojo
unidades. Esto asegurará que sea cual sea el tamaño de fuente del navegador del usuario, sus consultas de medios responderán y ajustarán su diseño.
Por ejemplo, si un usuario amplía el texto muy alto, es posible que su diseño deba ajustarse de dos columnas a una sola columna, al igual que en un dispositivo móvil con pantalla más pequeño..
Si sus puntos de interrupción están en anchos de píxel fijos, solo un tamaño de vista diferente puede activarlos. Sin embargo con movimiento rápido del ojo
puntos de interrupción basados responderán a diferentes tamaños de fuente también.
em
o movimiento rápido del ojo
Por:Los anchos de columna en un diseño normalmente deberían ser %
Basados para que puedan adaptarse de forma fluida a las vistas de tamaño impredecible.
Sin embargo, las columnas individuales todavía deben incorporar generalmente movimiento rápido del ojo
valores a través de anchura máxima
ajuste.
Por ejemplo:
css .container ancho: 100%; ancho máximo: 75rem;
Esto mantiene la columna flexible y escalable, pero evita que se vuelva demasiado ancha para que el texto en ella pueda leerse cómodamente..
En un diseño web típico, no habrá muchas partes de su diseño que no puedan diseñarse para la escalabilidad. Sin embargo, ocasionalmente encontrará elementos que realmente necesitan utilizar valores fijos explícitos con el fin de evitar el escalado..
La condición previa para emplear valores de tamaño fijos debe ser que si se escala el elemento en cuestión se rompa. Esto realmente no aparece con frecuencia, así que antes de que tengas la tentación de sacar esos px
Unidades, pregúntate si usarlas es una necesidad absoluta..
Hagamos un resumen rápido de lo que hemos cubierto:
movimiento rápido del ojo
y em
las unidades se calculan en valores de píxeles mediante el navegador, según los tamaños de fuente en su diseño.em
las unidades se basan en el tamaño de fuente del elemento que se utilizan en.movimiento rápido del ojo
unidades se basan en el tamaño de fuente de la html
elemento.em
Las unidades pueden ser influenciadas por la herencia del tamaño de fuente de cualquier elemento padremovimiento rápido del ojo
las unidades pueden verse influidas por la herencia del tamaño de fuente de la configuración de fuente del navegador.
em
Unidades para el tamaño que deben escalarse en función del tamaño de fuente de un elemento distinto de la raíz..movimiento rápido del ojo
Unidades para dimensionar que no necesitan. em
unidades, y eso debería escalar dependiendo de la configuración de tamaño de fuente del navegador.movimiento rápido del ojo
unidades a menos que esté seguro de que necesita em
unidades, incluso en tamaños de fuente.movimiento rápido del ojo
unidades en consultas de mediosem
o movimiento rápido del ojo
en anchos de diseño de múltiples columnas - uso %
en lugar.em
o movimiento rápido del ojo
Si el escalado causaría inevitablemente que un elemento de diseño se rompa.Espero que ahora hayas construido una imagen robusta y completa de cómo exactamente em
y movimiento rápido del ojo
Las unidades funcionan y, a través de eso, saben cómo aprovecharlas mejor en sus diseños..
Lo aliento a que pruebe las pautas de uso contenidas en este tutorial y disfrute de la escalabilidad y capacidad de respuesta de los diseños que le permitirán crear..