我注意到,在许多模板引擎中,在HTML5 Boilerplate中,在各种框架中以及在简单的php网站中,都将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>
元素将始终具有此类。有人可以解释为什么这样做如此频繁吗?
no-js类用于设置网页样式,具体取决于用户是否在浏览器中启用或禁用了JS。
根据Modernizr docs: