Referință rapidă

Fișă de referință Modernizr

Ghid rapid pentru Modernizr: detectarea funcționalităților browserului pentru HTML5, CSS3, API-uri JavaScript și clase CSS condiționale.

· Publicat

[!NOTE] Notă web modern: Modernizr a fost esențial în tranziția spre HTML5 și CSS3. Dezvoltarea modernă folosește de obicei @supports în CSS și verificări directe ('fetch' in window) în JavaScript.

Modernizr detectează disponibilitatea funcționalităților HTML5 și CSS3 în browserul utilizatorului, înlocuind verificarea fragilă a user-agent-ului.

Cum funcționează Modernizr

La încărcare, Modernizr rulează teste de capabilități și:

  1. Adaugă clase precum .flexbox sau .no-flexbox pe elementul rădăcină <html>.
  2. Expune un obiect JavaScript global Modernizr cu proprietăți booleene de testare.
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>

Stilizare condițională în CSS

Vizează direct în foile de stil browserele compatibile și incompatibile:

/* Fallback layout for older browsers */
.no-flexbox .container {
  display: block;
  float: left;
}

/* Modern flexbox layout */
.flexbox .container {
  display: flex;
  justify-content: space-between;
}

Detectarea funcționalităților în JavaScript

if (Modernizr.geolocation) {
  navigator.geolocation.getCurrentPosition(showMap);
} else {
  showAddressInputFallback();
}

if (Modernizr.localstorage) {
  localStorage.setItem('theme', 'dark');
}

if (Modernizr.webgl) {
  initialize3DCanvas();
}

Funcționalități comune detectabile

Funcționalități CSS

  • flexbox, cssgrid
  • opacity, rgba, hsla
  • boxshadow, textshadow, borderradius
  • cssanimations, csstransforms, csstransforms3d, csstransitions
  • backgroundsize, borderimage, fontface

HTML5 și API-uri de stocare

  • canvas, canvastext, webgl
  • localstorage, sessionstorage, indexeddb
  • geolocation, history, websockets, webworkers
  • video, audio, svg, inlinesvg

Referințe

Subiecte conexe