[!NOTE] Notering om modern webb: Modernizr var avgörande under övergången till HTML5 och CSS3. Modern utveckling använder oftast
@supportsi CSS och direkt API-kontroll ('fetch' in window) i JavaScript.
Modernizr känner av stödet för moderna HTML5- och CSS3-funktioner i webbläsaren och ersätter bräcklig user-agent-kontroll med tillförlitlig funktionsdetektering.
Hur Modernizr fungerar
När biblioteket laddas kör Modernizr funktionstester och:
- Lägger till klasser som
.flexboxeller.no-flexboxpå rotelementet<html>. - Exponerar ett globalt JavaScript-objekt
Modernizrmed booleska testegenskaper.
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
Villkorlig styling i CSS
Rikta regler direkt i stilmallar mot webbläsare med eller utan stöd:
/* Fallback layout for older browsers */
.no-flexbox .container {
display: block;
float: left;
}
/* Modern flexbox layout */
.flexbox .container {
display: flex;
justify-content: space-between;
}
Funktionsdetektering i JavaScript
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(showMap);
} else {
showAddressInputFallback();
}
if (Modernizr.localstorage) {
localStorage.setItem('theme', 'dark');
}
if (Modernizr.webgl) {
initialize3DCanvas();
}
Vanliga detekterbara funktioner
CSS-funktioner
flexbox,cssgridopacity,rgba,hslaboxshadow,textshadow,borderradiuscssanimations,csstransforms,csstransforms3d,csstransitionsbackgroundsize,borderimage,fontface
HTML5- & Lagrings-API:er
canvas,canvastext,webgllocalstorage,sessionstorage,indexeddbgeolocation,history,websockets,webworkersvideo,audio,svg,inlinesvg