¿Cómo calcular la proporción entre px y rem en diseño web?

  • Autor Autor Steeep
  • Fecha de inicio Fecha de inicio
Steeep

Steeep

Delta
Social Media
Verificación en dos pasos activada
Buenas como muchos diseñadores, creo, sabrán hay una nueva medida, unidad o como quieran llamarle, para tamaños a la hora de hacer sus diseños.

Pero me surge una duda, & esta es, ¿Como se saca la proporcionalidad en entre px & rem?

Les pongo un ejemplo sacado del theme Twenty Twelve de WP:

- 40px corresponde a 2.857142857rem
- 48px corresponde a 3.428571429rem

Quienes lo hayan visto entenderán, ya que no consigo conseguir esos datos tan exactos.

Saludos & gracias de antemano.
 
Ve a la fuente oficial CSS Values and Units Module Level 3

El em y el rem toman su valor relativos a otro objeto, su diferencia está de donde lo hacen, en pocas palabras:

em toma su valor del padre inmediato
y
rem toma su valor del elemento root (html)

Para que no te rompas la cabeza con las proporciones, hay un método para que las puedas usar fácilmente

Insertar CODE, HTML o PHP:
body { font-size:62.5%; }
h1 { font-size: 2.4em; } /* =24px */
p  { font-size: 1.4em; } /* =14px */
li { font-size: 1.4em; } /* =14px */

Para explicar mejor la diferencias entre em y rem y ejemplo

tienes el siguiente html
Insertar CODE, HTML o PHP:
<html>
  <body>
    <p>
      <span>ejemplo</span>
    </p>
  </body>
</html>

css con em te daría las siguientes medidas

Insertar CODE, HTML o PHP:
body { font-size:62.5%;  }
p    { font-size: 2.4em; } /* =24px */
span { font-size: 1.4em; } /* =33.6px */

css con rem te daría las siguientes medidas
Insertar CODE, HTML o PHP:
html { font-size: 62.5%; } 
body { font-size: 1rem;   } /* =10px */
p    { font-size: 2.4rem; } /* =24px */
span { font-size: 1.4rem; } /* =14px */

He visto que usan rem para soportar los dispositivos con retina display (donde la resolución se duplica) y cambian solo el valor del html para duplicar el tamaño, generalmente en diseños responsivos, le llaman elastic pixels.

Puedes combinarlo con em o px para navegadores que no lo soporten

Insertar CODE, HTML o PHP:
html { font-size: 62.5%; } 
body { font-size: 14px; font-size: 1.4rem; } /* =14px */
h1   { font-size: 24px; font-size: 2.4rem; } /* =24px */

Saludos...
 
Última edición:
Atrás
Arriba