📅  最后修改于: 2020-10-23 06:25:42             🧑  作者: Mango
Modernizr是一个小型JavaScript库,用于检测下一代Web技术的本机实现的可用性
通过HTML5和CSS3引入了一些新功能,但同时许多浏览器不支持这些新闻功能。
Modernizr提供了一种简便的方法来检测任何新功能,以便您可以采取相应的措施。例如,如果浏览器不支持视频功能,那么您想显示一个简单的页面。
您可以根据功能的可用性创建CSS规则,如果浏览器不支持新功能,这些规则将自动应用于网页。
您可以从Modernizr Download下载此实用程序的最新版本。
在开始使用Modernizr之前,您必须在HTML页面标题中包含其javascript库,如下所示-
如上所述,您可以根据功能可用性创建CSS规则,如果浏览器不支持新功能,这些规则将自动应用到网页上。
以下是处理受支持和不受支持的功能的简单语法-
/* In your CSS: */
.no-audio #music {
display: none; /* Don't show Audio options */
}
.audio #music button {
/* Style the Play and Pause buttons nicely */
}
这里值得注意的是,您需要为不支持它们的浏览器要处理的每个功能/属性添加“ no-”前缀。
以下是通过Javascript检测特定功能的语法-
if (Modernizr.audio) {
/* properties for browsers that
support audio */
}
else{
/* properties for browsers that
does not support audio */
}
以下是Modernizr可以检测到的功能列表-
Feature | CSS Property | JavaScript Check |
---|---|---|
@font-face | .fontface | Modernizr.fontface |
Canvas | .canvas | Modernizr.canvas |
Canvas Text | .canvastext | Modernizr.canvastext |
HTML5 Audio | .audio | Modernizr.audio |
HTML5 Audio formats | NA | Modernizr.audio[format] |
HTML5 Video | .video | Modernizr.video |
HTML5 Video Formats | NA | Modernizr.video[format] |
rgba() | .rgba | Modernizr.rgba |
hsla() | .hsla | Modernizr.hsla |
border-image | .borderimage | Modernizr.borderimage |
border-radius | .borderradius | Modernizr.borderradius |
box-shadow | .boxshadow | Modernizr.boxshadow |
Multiple backgrounds | .multiplebgs | Modernizr.multiplebgs |
opacity | .opacity | Modernizr.opacity |
CSS Animations | .cssanimations | Modernizr.cssanimations |
CSS Columns | .csscolumns | Modernizr.csscolumns |
CSS Gradients | .cssgradients | Modernizr.cssgradients |
CSS Reflections | .cssreflections | Modernizr.cssreflections |
CSS 2D Transforms | .csstransforms | Modernizr.csstransforms |
CSS 3D Transforms | .csstransforms3d | Modernizr.csstransforms3d |
CSS Transitions | .csstransitions | Modernizr.csstransitions |
Geolocation API | .geolocation | Modernizr.geolocation |
Input Types | NA | Modernizr.inputtypes[type] |
Input Attributes | NA | Modernizr.input[attribute] |
localStorage | .localstorage | Modernizr.localstorage |
sessionStorage | .sessionstorage | Modernizr.sessionstorage |
Web Workers | .webworkers | Modernizr.webworkers |
applicationCache | .applicationcache | Modernizr.applicationcache |
SVG | .svg | Modernizr.svg |
SVG Clip Paths | .svgclippaths | Modernizr.svgclippaths |
SMIL | .smil | Modernizr.smil |
Web SQL Database | .websqldatabase | Modernizr.websqldatabase |
IndexedDB | .indexeddb | Modernizr.indexeddb |
Web Sockets | .websockets | Modernizr.websockets |
Hashchange Event | .hashchange | Modernizr.hashchange |
History Management | .historymanagement | Modernizr.historymanagement |
Drag and Drop | .draganddrop | Modernizr.draganddrop |
Cross-window Messaging | .crosswindowmessaging | Modernizr.crosswindowmessaging |
addTest() Plugin API | NA | Modernizr.addTest(str,fn) |