(譯者注:你是否還在用”layout-985″”redBg”的類名?你是否很糾結定義什么類名? Chris Coyier提出了”描述而非定義”。他舉例了一些常用的類名,是否語義化,給出了自己的判斷和理由。但是在某些場景,如大公司,考慮到簡潔和方便維護,語義化要做一些犧牲。)
語義總是個火熱的話題。有些人時時刻刻在追求語義化,有些人教條地執著于它,而有一些人不知道這究竟是什么。
我認為語義像標簽、類、ID、屬性(描述而不是定義內容)一樣和HTML密切相關。我們用典型的例子來描述。
糟糕的語義:<;/article>;如果我們有個投票,讓大家選哪個更加語義化,我打賭,一定是第一個贏了。它實踐了這個理念:描述而非定義。第二個的類名定義了藍色背景等樣式。讓我們假設Theoretical Redesign Future™不是理論上的而是實際的。設計Movie Reviews的樣式變成了綠色背景。那么類名blueBg顯得不適宜了。然而movie-review是完全沒有問題,你只需要對它的樣式進行屬性或屬性值的修改就行。
但是這也并不代表第一個總是對的,要看實際情況。假設這個藍色應用在網站的很多地方,可能是頁腳或者側欄的樣式,那么你會這樣寫選擇器:
}這樣CSS文件會比較有組織(不同的內容部分對應不同的樣式區塊),但是前提是重復聲明的代價。在CSS Summit上,Nicole Sullivan的一個演講中,她提出大公司聲明同樣的顏色有上千次,但是沒人用blueBg之類的類名。或者,你可以使用mainBrandColor或者secondaryFont來定義。我理解的是,這就是OOCSS。犧牲了語義化,為了更大的好處(代碼更加簡潔)。
希望看聽到你們的觀點。對于語義或不語義,是否重要,你們一定有很多的不同例子和不同的看法。
原文:What Makes For a Semantic Class Name?作者是Chris Coyier
新聞熱點
疑難解答