HTML5中no-JS类的含义是什么?



我看到很多网站都有IE6,IE7,IE8的特定代码。

<!--[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 class=" js no-flexbox flexbox-legacy canvas canvastext webgl no-touch geolocation postmessage websqldatabase indexeddb hashchange history draganddrop websockets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimations csscolumns cssgradients cssreflections csstransforms csstransforms3d csstransitions fontface generatedcontent video audio localstorage sessionstorage webworkers applicationcache svg inlinesvg smil svgclippaths">

任何人都只是告诉这个代码有什么用

这是对 Moderniz 的说明。如果浏览器中启用了 JavaScript,Modernizr 会将no-js更改为js类,因此您可以为启用 JavaScript 的浏览器和禁用 JavaScript 的浏览器定义 CSS 样式

它放在那里,如果有Javascript支持,那么你可以使用JS删除no-js类。

如果您通常需要 JS 才能使您的网站正常运行,则可以使用 no-js 类来设置网页的 CSS 样式。这提供了一种降级但功能齐全的格式,如果你想提供足够的HTML和足够的表单来使页面在没有JS的情况下工作,但随后隐藏贫民窟版本并用闪亮和花哨的东西替换它。

<!--[if IE]><![endif]-->是Microsoft的条件注释。

所以对于IE版本<7([if lt IE 7]),使用<html lang="en" class="no-js ie6">;

对于IE版本7([if IE 7]),使用<html lang="en" class="no-js ie7">;

等等。

最后,对于IE版本> 9([if gt IE 9]),使用<html lang="en" class="no-js">

而且由于它是Microsoft特定的注释,所有非IE浏览器都会将其视为普通注释,因此仅使用<html lang="en" class="no-js">(唯一未注释的部分)。

最新更新