2011-06-16 55 views
4

隨着最近http://csslint.net的發佈,我在質疑過去構建我的樣式表的一些方法。下面的方法是一個我最近使用:重複標題選擇器

/* Fonts */  
h1 { font-size:20px } 
p { font-size:12px } 

/* Colors */ 
h1 { color:green } 
p { color:grey; 
    background-color:white } 

/* Margins */ 
h1 { margin:0 } 
p { margin:0 0 5px } 

的問題,根據棉短絨,就是我一遍又一遍的重複聲明標題選擇。理由當然是保持各種規則之間的邏輯分離。如果我想改變顏色,我會訪問顏色區域。如果我想改變尺寸,我會去參觀尺寸區域。

CSSLint是否擔心我可能會覆蓋樣式,從而浪費字符,或者是否存在與多少個塊有助於標題元素的整體呈現相關的性能問題?

這是一個壞習慣,還是僅僅是一個虛假警報?

+2

+1只是爲了儘快嘗試csslint! – 2011-06-16 19:53:38

+0

並非所有人都同意CSS Lint:http://mattwilcox.net/archive/entry/id/1054/ – thirtydot 2011-07-20 15:11:29

+0

@thirtydot我意識到這些觀點,並且在某些部分我同意他們。這就是說,我仍然發現使用Lint for CSS的價值,因爲它會發現一些錯誤。當談到像這樣的項目時,我會簡單地按照我個人的判斷去放棄CSSLint的規則。 – Sampson 2011-07-20 18:21:58

回答

1

無論採用哪種方式,所有樣式都會計算出所有h1 s和所有p。選擇器匹配的開銷與實際計算和渲染樣式的同樣可忽略的性能「影響」相比很小。

我猜你認爲CSS Lint擔心的是這種情況。事實上,我有點像你自己組織你的風格,除了意外覆蓋聲明之外沒有看到任何其他問題。

0

從他們的文檔 -

標題元素應該有整個網站一致的外觀。

我認爲這與可用性/一致性而不是性能有關。一頁上大小爲20px,另一頁上大小爲14px的標題看起來不專業。

+0

我明白,但我不打破這個規則。我在多個塊中聲明瞭演示的各個方面。尺寸在全球範圍內設置一次,全球範圍內設置一次邊距。事情是這兩個規則都出現在兩個不同的塊中,這會引發關於重複選擇器的警告標誌。 – Sampson 2011-06-16 20:34:38