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-widthmax-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,maxymin+max - Soporta valores
pxyem - Reacciona al cambiar el tamaño de la ventana.
- Elabora CSS en la página (
<style>) y hojas de estilo externas.
Contras
- No soporta
widthmediaquery - No explica
<link media="screen and ...">ni@imported stylesheet
responder.js
Pros
- Soporta mediaqueries
min,maxymin+max - Soporta valores
pxyem - Reacciona al cambiar el tamaño de la ventana.
- Elabora hojas de estilo externas solamente
Contras
- No soporta
widthmediaquery - No elabora CSS en la página,
<link media="screen and ...">ni@imported stylesheets - Puede causar un error de javascript cuando se combina con jQuery
on loadeventos 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 .