[轉(zhuǎn)]CSS 中 id 與 class 命名規(guī)則及編碼的 6 個(gè)最佳習(xí)慣

CSS網(wǎng)頁布局有很多值得學(xué)習(xí)的地方,這里和大家重點(diǎn)討論一下CSS中id與class命名及編碼的6個(gè)最佳習(xí)慣,相信本文介紹一定會讓你有所收獲。

一、用class_name方式寫類名

以前喜歡用class-name寫,不過好像兩樣也沒什么差別。但我比較反對用className寫類名,因?yàn)槭冀K對瀏覽器大小寫敏感的問題抱有懷疑態(tài)度。但是id我會寫成駝峰式,理由見下一條。

二、樣式都用class而不用id

有三個(gè)理由。

1,id不可以重復(fù),所以用class的話,可以肆無忌憚的用無數(shù)次。

2,id的優(yōu)先級太高,若是寫了一個(gè)#page_contenta{color:#f60},那你完蛋了,里面要改鏈接顏色,都必須加上#page_content才能越過這個(gè)優(yōu)先級。

3,id專門留給JS用,這樣才符合表現(xiàn)與行為分離的原則。所以id我用駝峰式,也是為了體現(xiàn)這一點(diǎn)。

三、margin和padding,盡量省略最后一個(gè)值

比如margin:20px10px5px10px;,左右值是一樣的,就應(yīng)該省略掉最后一個(gè)值,寫成margin:20px10px5px;這樣到時(shí)候要改左右間距,改一個(gè)就好,免得改漏了。其實(shí)這個(gè)問題雖然很細(xì)小,但是可以看得出對margin四個(gè)值省略規(guī)則的熟練程度。

四、按標(biāo)準(zhǔn)寫css,再針對特定瀏覽器作hack

比如,通常我們會遇到如下的寫法:

ExampleSourceCode

.side_col_52CSS{

float:left;

display:inline;

margin-left:20px;

}

而我的寫法會是:

ExampleSourceCode

.side_col_52CSS{

float:left;

margin-left:20px;

}

*.side_col_52CSS{

_display:inline;/*hackedforIE6*/

}

看明白了么?不應(yīng)該把hack混在一起,也不應(yīng)該用一種僥幸的心態(tài),覺得float:left與display:inline寫在一起沒事。嗯,它們倆確實(shí)沒事兒,但是其他的hack就不一定了。而且這里寫display:inline純粹就是為了解決IE6的bug,所以前面加上下劃線,以明確的表達(dá)你的目的。

另外不要以為凡是hack都是為IE準(zhǔn)備的。其實(shí)有些hack是針對其他瀏覽器的,比如FF。這就要求你對css標(biāo)準(zhǔn)的熟練掌握,能夠自信的判斷哪些渲染是遵守標(biāo)準(zhǔn),哪些違反標(biāo)準(zhǔn)的。

此外,我喜歡在hack前面加上星號,其實(shí)這純粹是個(gè)人習(xí)慣了??赡苓^段時(shí)間我就不這么用了,呵呵。

五、記得加空格

.class_name{property:value;}。我個(gè)人覺得合理的空格是優(yōu)秀代碼的一個(gè)指標(biāo)。按英文的習(xí)慣,標(biāo)點(diǎn)后面都應(yīng)該帶空格(如果你寫Thisisapen.That’sapencil.句點(diǎn)后面不加空格,word里面會有錯(cuò)誤提示)。所以既然css是外國人發(fā)明的,應(yīng)該按他們的格式來寫。類似的,在JS里vara=b+c;里面的空格也應(yīng)該都要加。

六、適當(dāng)?shù)膶盈B(Cascading)或縮進(jìn)以定義css的“作用域”

什么是“css的作用域”?其實(shí)并不是所有的樣式都在所有的地方使用。有的樣式只用在某一塊里面,比如“導(dǎo)航欄”里的“搜索框”,可能應(yīng)該寫成:

ExampleSourceCode

.nav .search{}

而有時(shí)候用層疊會增加代碼優(yōu)先級,所以也可以用縮進(jìn)來“象征性的”體現(xiàn)作用域。像這樣:

ExampleSourceCode

.login_box{}

.forgot_pwd{}

縮進(jìn),是為了表示它們對應(yīng)的標(biāo)簽具有父子關(guān)系。但這樣只能起一個(gè)提醒的作用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,154評論 1 92
  • CSS書寫規(guī)范、順序和命名規(guī)則 一、CSS書寫順序 1.位置屬性(position, top, right, z-...
    三生三世小世界閱讀 1,778評論 0 6
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,373評論 0 8
  • 《生理學(xué)》30分鐘20頁,理解率30%左右 雖然也有上過,但有些沒上過的理解起來效果不理想,看完沒幾分鐘就忘了,看...
    筱蘇籽閱讀 157評論 0 0
  • 由于轉(zhuǎn)型,從中職轉(zhuǎn)高職,自去年至今,參加了N多個(gè)培訓(xùn),有線上的,更有線下的。培訓(xùn)內(nèi)容雜七雜八,一言難盡。最喜歡的還...
    一念清寧閱讀 643評論 1 3

友情鏈接更多精彩內(nèi)容