5

谁能解释(因为 github 页面没有)为什么 Modernizr 觉得有必要将所有这些类名添加到 HTML 标记中?加载 Modernizr 后,它看起来像这样:

<!doctype html>
<html class=" js flexbox canvas canvastext webgl ~~~~ etc etc

我完全看不出它为什么要这样做。Modernizr 提供属性让我知道是否支持例如画布(Modernizr.canvas == true?)。是否为比这更容易的测试添加了这些 html 类名?

4

2 回答 2

9

这些类名旨在用于您的 CSS 代码,因此您可以添加备用样式以防某个功能不受支持。Modernizr 文档页面的示例:

/* Simulated box shadow using borders: */
.box {
   border-bottom: 1px solid #666;
   border-right:  1px solid #777;
}
.boxshadow div.box {
   border: none;
   -webkit-box-shadow: #666 1px 1px 1px;
      -moz-box-shadow: #666 1px 1px 1px;
           box-shadow: #666 1px 1px 1px;
}
于 2012-12-17T13:38:25.413 回答
1

我可能错了(如果我错了,请纠正我),这里的类表示 Modernizr 检测到的给定浏览器支持(或实际上不支持)的功能。

在这里查看文档:http: //modernizr.com/docs/

举个例子:

<html class="no-js">

如果 JavaScript 被禁用,则modernizr 无法运行,因此该类将保留"no-js",但如果启用 JavaScript,Modernizr 将替换"no-js""js",同样会告诉您支持哪些其他功能

于 2012-12-17T13:21:16.860 回答