2016-08-16 88 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的應該不惜一切