Modernizer 使用 javascript 在页面加载时向页面的 HTML 元素添加一堆类。例如
<HTML class="backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimations csscolumns cssgradients no-cssreflections csstransforms csstransforms3d csstransitions fontface generatedcontent video audio localstorage sessionstorage webworkers applicationcache svg">
这些类描述了 HTML5/CSS3 功能是否可以在浏览页面的浏览器中使用。
这允许您通过仅在浏览器可以处理 CSS3 样式(渐进增强)的情况下应用更有效的 css。
例如
.no-audio .music-player {
display: none
}
.audio .music-player {
/* styles for music player */
}
此外,Modernizer 还允许您测试这些元素是否可用于其 javascript API。这对于为旧版浏览器(polyfills)提供后备很有用。因此,对于圆角,您可以这样做:
Modernizr.load({
test: Modernizr.borderradius,
yep : /* do nothing */
nope: 'borderradius.js' /* css3 pie for example */
});
或者:
if (Modernizr.borderradius) {
// do nothing
}else{
/* script for making rounded corners e.g css3 pie */
}
或者在 CSS 中仅使用我们的边界半径(如果可用):
.box {
border: 1px solid #000; /* all browsers, no rounded corners */
}
.borderradius .box{
border-radius: 15px; /* only CSS3 compliant browsers get this style */
}
旧版 (IE <9) 浏览器的媒体查询需要另一个插件,例如 repond.js