These technologies are new features that stem from the ongoing HTML 5 and CSS 3 specifications.
Many of these features are already implemented in at least one major browser (most of them in two or more), and what Modernizr does is, very simply, tell the developer whether the current browser has this feature natively implemented or not.
The programmer can take advantage of these new features in the browsers that can render or utilize them, and still have easy and reliable means of creating fallbacks for the browsers that cannot.
Additionally, Modernizr creates a self-titled global JavaScript object which contains properties for each feature.
If the browser supports it, the property will evaluate true and if not, it will be set to false.
Lastly, Modernizr also adds support for styling HTML 5 elements. This allows the user to use more semantic, forward-looking elements such as <section>, <header> and <dialog> without having to worry about them not working in Internet Explorer.
Here are some key features of "Modernizr":
Modernizr detects support for:
· @font-face
· Canvas
· Canvas Text
· HTML5 Audio
· HTML5 Video
· rgba()
· hsla()
· border-image
· border-radius
· box-shadow
· Multiple backgrounds
· opacity
· CSS Animations
· CSS Columns
· CSS Gradients
· CSS Reflections
· CSS 2D Transforms
· CSS 3D Transforms
· CSS Transitions
· Geolocation API
· localStorage
· sessionStorage
· Web Workers
· applicationCache
· Input Types
· Input Attributes
· SVG
· SMIL
· Web SQL Database
· Web Sockets
· hashchange event
· History Management
· Session Management
· HTML5 Drag and Drop
· Cross-document Messaging
How it works:
· It tests for over 40 next-generation features, all in a matter of milliseconds;
· It creates a JavaScript object (named Modernizr) that contains the results of these tests as boolean properties;
· It adds classes to the HTML element that explain precisely what features are and are not natively supported
Requirements:
· JavaScript enabled on client side
Limitations:
· Modernizr does not add missing functionality to browsers; instead, it detects native availability of features and offers a way to maintain a fine level of control over websites regardless of a browser’s capabilities.
What's New in This Release: [ read full changelog ]
· More than 60 new feature detects for emerging browser features; check out the full list or peruse all of the community-driven tests in our feature-detects folder.
· Brand new embedded and included micro-libraries: html5shiv 3.2 and yepnope .js 1.5.
· Bugfix for possible false negative when browser support for prefixed CSS Transforms is sunsetted.