2016-08-16 91 views
0

当我在本地运行ASP.NET MVC站点时,任何页面的源代码都会在<html>标记中显示看似荒谬的CSS类。我的<html>标签上的所有课程都是什么意思?

<html class=" js flexbox flexboxlegacy 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"> 

我们的网站使用了许多框架,包括jQuery,AngularJS,jqWidgets和其他几个小框架。有这么多的课程是典型的吗?有没有办法让我找到每个人的来源?当我不明白它是如何工作的时候,我不喜欢有那么多的开销。

+0

一些类将被用于重置其添加CSS类由不同浏览器提供的默认CSS。您可能会包含一些JavaScript库,它将在运行时通过代码添加类。 – AmanSinghal

+2

是的,这些类都是由一个或一些框架添加的。不过,这些肯定来自jQuery或Angular以外的东西。 – TylerH

回答

3

看起来像Modernizr的工作,这是一种用于检测浏览器中的功能支持的工具。下面是从自己的文件(重点煤矿)的一个片段:

默认情况下,Modernizr的集(网站)根 元素上所有的测试类。这意味着在支持时为每个 功能添加该类,并在 不是(例如.feature或.no-feature)时将其添加为无前缀。

这基本上让你知道该浏览器支持哪些功能,并允许你(和大概是Modernizr)根据该信息创建一些上下文CSS。

显然,您可以禁用此行为。看看他们configuration options ...特别:

enableClasses - 默认:true
无论Modernizr的应该不惜一切