5

なぜ Modernizr がこれらすべてのクラス名を HTML タグに追加する必要があると感じているのか (github ページには説明がないため) 誰か説明できますか? 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 に答える