多くのテンプレートエンジンでは、HTML5 ボイラープレートさまざまなフレームワークや単純な PHP サイトでは、タグno-js
にクラスが追加されます<HTML>
。
なぜこのようなことが行われるのでしょうか? このクラスに反応する何らかのデフォルトのブラウザ動作があるのでしょうか? 常に含めるのはなぜでしょうか? no-"no-js" ケースがなく、html を直接処理できる場合、クラス自体は時代遅れにならないのでしょうか?
以下は HTML5 ボイラープレート index.html の例です。
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
ご覧のとおり、<html>
要素には常にこのクラスが設定されます。なぜこれが頻繁に行われるのか説明できる人はいますか?
ベストアンサー1
Modernizr を実行すると、「no-js」クラスが削除され、「js」に置き換えられます。これは、Javascript サポートが有効かどうかに応じて異なる CSS ルールを適用する方法です。