是否有一個現有的插件/應用程序/程序/腳本/任何分析和計數文件的CSS選擇器?我想檢查,如果我的CSS文件不工作在IE瀏覽器的原因是因爲我的選擇器計數是超過4095(這是我很肯定不是)計算一個CSS文件中選擇器的數量
謝謝!
p.s.如果有haml/sass /羅盤解決方案,請加上點數
是否有一個現有的插件/應用程序/程序/腳本/任何分析和計數文件的CSS選擇器?我想檢查,如果我的CSS文件不工作在IE瀏覽器的原因是因爲我的選擇器計數是超過4095(這是我很肯定不是)計算一個CSS文件中選擇器的數量
謝謝!
p.s.如果有haml/sass /羅盤解決方案,請加上點數
下面的片段可以在Firefox中的Firebug的控制檯上運行以計數的CSS選擇器(不只是CSS規則)的總數量,並檢查它是否達到了limit of 4095 selectors每樣式表:
var
styleSheets = document.styleSheets,
totalStyleSheets = styleSheets.length;
for (var j = 0; j < totalStyleSheets; j++){
var
styleSheet = styleSheets[j],
rules = styleSheet.cssRules,
totalRulesInStylesheet = rules.length,
totalSelectorsInStylesheet = 0;
for (var i = 0; i < totalRulesInStylesheet; i++) {
if (rules[i].selectorText){
totalSelectorsInStylesheet += rules[i].selectorText.split(',').length;
}
}
console.log("Stylesheet: "+styleSheet.href);
console.log("Total rules: "+totalRulesInStylesheet);
console.log("Total selectors: "+totalSelectorsInStylesheet);
}
感謝您發表回答!雖然代碼片段可以回答這個問題,但添加一些附加信息仍然很棒,比如解釋等。 – j0k 2012-09-26 07:59:00
好的。我的英語很差,但我會嘗試) – jetli13 2012-11-22 12:34:12
@ jetli13我的螢火蟲說'錯誤:操作是不安全的。 「rules = styleSheet.cssRules,」。有任何想法嗎? FB 1.11.2 FF 20.0.1 – RaphaelDDL 2013-04-30 21:08:42
有一個小書籤告訴你使用CSS規則的總數(你感興趣的)。
搜索&在CSS文件中替換「{」替換爲「{」。大多數編輯會告訴你做了多少替換...
這隻會計算規則的數量,而不是數量的選擇器。每個規則可以有多個選擇器,例如'h1,h2,h3 {margin:0; }' – 2012-07-18 23:24:47
我認爲你應該計算{加上數字,(逗號)的數量。據我所知,這將是一個非常簡單的檢測機制。 – Wouter 2015-07-14 21:13:51
簡單算法如果您希望將其作爲構建過程的一部分來進行計算,或者不想在JS中執行此操作,則需要對選擇器進行計數:
用「,」替換「{」和「}」之間的文本,然後計算的數量 」,」。這會給你文件上選擇器的數量。
有點晚,但任何人如何在尋找一個CSS選擇器計數器: http://snippet.bevey.com/css/selectorCount.php 這很簡單,並能與多個樣式表的工作,它甚至會告訴你,當你打4096極限
難道選擇器的數量會成爲問題?如果不是,那是什麼?我遇到了同樣的問題。突然之間IE9和只有IE9顯示我的網站不正確... – hawkeye126 2016-07-29 19:35:27