Modernizr — Détection des fonctionnalités CSS3 et HTML5

Modernizr est une petite bibliothèque Javascript qui détecte la prise en charge (ou non) des fonctionnalités CSS3 et HTML5 comme @font-face, canvas, video, rgba(), border-radius, les fonds multiples, CSS Columns, etc. Modernizr teste plus de 20 fonctionnalités en quelques millisecondes pour ajouter des classes spécifiques dans la balise html indiquant indiquer la prise en charge (ou non) des propriétés testés par le navigateur.

Voici un exemple assez parlant. Si le navigateur accepte les images de fond multiples, la classe .multiplebgs est ajoutée à l’élément html, sinon c’est la classe .no-multiplebgs qui s’inscrit, ce qui simplifie la mise en place de fallbacks.

.multiplebgs div p {
    /* properties for browsers that
    support multiple backgrounds */
}
.no-multiplebgs div p {
    /* optional fallback properties
    for browsers that don't */
}