javascript - polyfill - respond js cdn
css3-mediaqueries.js VS respond.js (2)
css3-mediaqueries.js o css3-mediaqueries.js ?
La documentación oficial, especialmente la de css3-mediaqueries.js, es escasa. Leyendo en SO, foros y blogs , he resumido estas ventajas y desventajas.
responder.js
Pros:
- Más confiable (? Recomendado por Modernizr , Twitter Bootstrap 3 y H5BP )
- Más ligero (4kb) y más rápido
- Interpretar mediaquery en cualquier contexto (
<link>
, CSS en línea, @ import-ed CSS)
Contras:
- No se actualiza en el tamaño de la ventana
- Soporta solo
min-width
max-width
- No soporta unidades
em
(¡gran punto débil!)
css3-mediaqueries.js
Pros:
- Reacciona en tiempo real (¡al redimensionar también!)
- Soporta unidades
em
(¿en serio? ¿Alguien lo probó?)
Contras:
- Más pesado (15kb) y más lento
- Interpretar solo CSS en línea con un tipo de medio explícitamente declarado
- Carece de documentación detallada y el proyecto parece abandonado.
¿Alguien tiene puntos para agregar a la lista, o experiencias personales para compartir, o una preferencia particular por uno u otro script? Si es así, ¿por qué?
El punto es probablemente discutible ahora. He desarrollado un marco de JavaScript puro que genera y administra consultas de medios. Funciona con todos los navegadores y sistemas operativos. Su huella tiene menos de 500 caracteres. Puedes verlo trabajando aquí: ieee-ac.org.
He creado una página de prueba, incluyendo Mediatizr también.
Si alguien está interesado, aquí está la página de prueba , y estos son los results (probados en IE8 e IE7).
css3-mediaqueries.js
Pros
- Soporta mediaqueries
min
,max
ymin+max
- Soporta valores
px
yem
- Reacciona al cambiar el tamaño de la ventana.
- Elabora CSS en la página (
<style>
) y hojas de estilo externas.
Contras
- No soporta
width
mediaquery - No explica
<link media="screen and ...">
ni@import
ed stylesheet
responder.js
Pros
- Soporta mediaqueries
min
,max
ymin+max
- Soporta valores
px
yem
- Reacciona al cambiar el tamaño de la ventana.
- Elabora hojas de estilo externas solamente
Contras
- No soporta
width
mediaquery - No elabora CSS en la página,
<link media="screen and ...">
ni@import
ed stylesheets - Puede causar un error de javascript cuando se combina con jQuery
on load
eventos deon load
, para resolverlo, debe colocar el script al final de la página.
mediatizr.js
Simplemente ... no funciona
Al final opté por css-mediaqueries.js , cargado condicionalmente con Modernizr .