我注意到,在许多模板引擎中,在HTML5Boilerplate中,在各种框架中以及在简单的php网站中,都将no-js类添加到了<HTML>标记中。
no-js
<HTML>
为什么要这样做?是否有某种默认的浏览器行为会对此类作出反应?为什么总是包含它?如果没有no-“ no- js”情况并且可以直接处理html,那是否不会使类本身过时?
这是HTML5 Boilerplate 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>元素将始终具有此类。有人可以解释为什么这样做如此频繁吗?
<html>
当Modernizr运行时,它将删除“no-js”类,并将其替换为“js”。这是一种根据是否启用Javascript支持来应用不同CSS规则的方法。