Saltar al contenido
José Marin de la Fuente
José Marin de la Fuente
  • Inicio
  • jmdf
    • Consultor Tecnológico
    • En los medios
    • CodePen
    • ebooks
  • Secciones
    • Blog Personal
    • Drones
    • Marketing Digital
    • Mundo 360
    • Redes Sociales
    • Seguridad informática
    • SEO
    • Tecnología y Mundo Digital
    • WebDesigners, WebMasters & Developers
  • My Tools
    • Calendar Link Generator Online
    • WhatsApp Link Generator Online
    • HTML Obfuscator Online
    • JavaScript Obfuscator Online
    • JWT Decoder
    • QR Online Generator
    • WordPress Password Hash Generator
    • String art generator
    • Editor HTML
    • Test – Tabla Schulte
    • Word Counter
    • Generador de mapeo de imagenes
    • Yellow Dots Decoder
  • Proyectos
    • Lectura Veloz | Chrome Extension
    • FocusTasks | Chrome Extension
  • hangar18
  • Contacto
José Marin de la Fuente José Marin de la Fuente
  • Inicio
  • jmdf
    • Consultor Tecnológico
    • En los medios
    • CodePen
    • ebooks
  • Secciones
    • Blog Personal
    • Drones
    • Marketing Digital
    • Mundo 360
    • Redes Sociales
    • Seguridad informática
    • SEO
    • Tecnología y Mundo Digital
    • WebDesigners, WebMasters & Developers
  • My Tools
    • Calendar Link Generator Online
    • WhatsApp Link Generator Online
    • HTML Obfuscator Online
    • JavaScript Obfuscator Online
    • JWT Decoder
    • QR Online Generator
    • WordPress Password Hash Generator
    • String art generator
    • Editor HTML
    • Test – Tabla Schulte
    • Word Counter
    • Generador de mapeo de imagenes
    • Yellow Dots Decoder
  • Proyectos
    • Lectura Veloz | Chrome Extension
    • FocusTasks | Chrome Extension
  • hangar18
  • Contacto
Modo Visual
Redes Sociales

Buscar en el blog

WebDesigners, WebMasters & Developers • 3 min de lectura

Modernizr, HTML5 y CSS3

2 mayo 2012

Modernizr, HTML5 y CSS3Modernizr es una librería javascript que sirve para detectar el soporte de ciertas funcionalidades de HTML5 y CSS3 en los navegadores. No tiene sentido detectar si un navegador es capaz de servir páginas en HTML5. Lo que se hace es detectar si el navegador tiene implementadas ciertas funcionalidades de forma separada como: canvas, video, geolocalización, bordes redondeados, etc.Actualmente van por la versión 1.6 de Modernizr y ocupa menos de 10Kb (la versión descomprimida son 33Kb). Su uso es muy simple. Vamos a poner un ejemplo sencillo para presentarlo.

Imaginemos que queremos detectar si el navegador del usuario que nos está visitando soporta la nueva etiqueta canvas (elemento de HTML5 que hace las veces de contenedor o “pizarra” y que permite la generación de gráficos dinámicamente). Si no la soporta, no queremos siquiera que se muestre (esto lo haremos con CSS, también apoyándonos en Modernizr), pero si la soporta, dibujaremos dentro del canvas un cuadrado de lado 100px de un color aleatorio.

Nuestro HTML será así. Se ha usado la sintaxis de HTML5, por eso tanto la etiqueta DOCTYPE como el meta charset son tan escuetas:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>Modernizr: HTML5 y CSS3</title>
		<style type="text/css">
			.no-canvas #myCanvas {
				display: none;
			}
		</style>
		<script src="modernizr-1.6.min.js"></script>
		<script src="canvas.js"></script>
	</head>
	<body onload="paintCanvas()">
		<canvas id="myCanvas" width="320" height="240"/></canvas>
	</body>
</html>

Como podemos ver, se crea una etiqueta canvas de 320x240px y se le da un identificador muy original “myCanvas”. Se incluyen dos ficheros javascript: el de modernizr y uno nuestro llamado canvas.js (cuyo contenido se muestra un poco más abajo).

Lo interesante aquí es tanto la parte del CSS incrustado donde se le dice que si no tiene soporte para canvas, directamente no muestre el elemento:

<style type="text/css">
	.no-canvas #myCanvas {
		display: none;
	}
</style>

La “magia” hace que si no hay soporte para canvas, no se muestre el elemento canvas. Es decir, se aplica el estilo no-canvas. Si existe, no ponemos ningún estilo en particular (podríamos haber escrito .canvas #myCanvas).

Y nuestro javascript canvas.js será como sigue:

function paintCanvas() {
	if (Modernizr.canvas) {
		// Tu navegador soporta Canvas
		var myCanvas = document.getElementById("myCanvas");
		var context = myCanvas.getContext("2d");
		context.fillStyle = "rgb(" + Math.round(255 * Math.random())
+ "," + Math.round(255 * Math.random()) + "," + Math.round(255 * Math.random()) + ")";
		context.fillRect(100, 50, 100, 100);
	} else {
		alert('Tu navegador no soporta Canvas... Aún.');
	}
}

La parte importante de detección es Modernizr.canvas. Modernizr crea un objeto global que tiene un conjunto de atributos de tipo Boolean, correspondientes a las diferentes funcionalidades detectadas. Su valor será “true” si se ha detectado que el navegador soporta aquello por lo que estamos preguntando, es este caso, canvas.

Al cargarse la página, se llamará a la función paintCanvas, cuya misión es dibujar dicho cuadrado dentro del canvas “myCanvas”, si se puede. Si no se puede, nos mostrará un mensaje de alerta. Bastante sencillo ¿verdad?

Descargar ejemplo de Canvas

fuente:
http://www.nekotek.es/blog/2011/01/modernizr-html5-y-css3/

 

Comentarios
Compartir este artículo:

Navegación de entradas

Artículo anterior ← Variable variables, como crear variables dinamicas en PHP
Siguiente artículo Responsive Design →

Artículos Relacionados

WebDesigners, WebMasters & Developers

Joomla: como actualizar de la version 1.0.13 a la 1.0.15

9 junio 2009 • 4 min de lectura
divi modulo blog
WebDesigners, WebMasters & Developers

Cómo personalizar el módulo Blog de Divi 4 a un diseño de lista

12 diciembre 2025 • 4 min de lectura
Binance Smart Chain
WebDesigners, WebMasters & Developers

6 Métricas importante de Binance Smart Chain (BSC)

19 febrero 2021 • 8 min de lectura
advertise width me
Baitdom Domótica para el hogar en Tucumán
Google Street View Trusted Photographer | Tucumán
grupo de desarrolladores tucumanos en Facebook

Entradas recientes

  • JEV AI: El Modelo ‘Sistema 1’ | 193x Más Rápido que los LLM | Análisis Completo
  • Cómo buscar archivos públicos de Google Drive con Google Dorks y proteger tu información
  • Cómo vender productos digitales con Landing Pages, Tiendanube y Meta Ads
  • Métricas de Meta Ads: guía completa para entender CPM, CTR, CPC, CPA, ROAS y optimizar campañas
  • Framework 3Qs en Meta Ads: Diagnóstico de Campañas y Optimización
advertise width me
DEVELOPER TOOLBOX

Mis Herramientas & Utilidades

Colección de utilidades web interactivas para desarrolladores y profesionales.

JWT Decoder POPULAR

Decodifica y verifica tokens JWT

JSON Formatter

Embellece y valida JSON

Base64 Encoder

Codifica y decodifica Base64

Hash Generator

MD5, SHA-256 y más

Regex Tester

Prueba expresiones regulares

CSS Gradients NUEVO

Generador de degradados CSS

© 2026 José Marin de la Fuente. Todos los derechos reservados.