DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> ID類和class類的長命名與短命名
ID類和class類的長命名與短命名
編輯:CSS詳解     

CSS的命名在webjx.com中,曾經多次討論過。說實話,看到這個題目時我覺得這有什麼好討論的,肯定會是場一邊倒的討論。因為個人比較傾向於短命名,簡單優雅,可能是出於程序員的潔癖,容不得任何冗余的東西。和我一個想法的人應該不在少數吧!

  先看下長命名和短命名的定義:

<!-- 長命名:使用前綴體現上下文環境的CSS命名方式。 -->
<div class="category">
        <div class="category-hd"></div>
        <div class="category-bd"></div>
        <div class="category-ft"></div>
</div>
<!-- 短命名:使用繼承體現上下文環境的CSS命名方式。 -->
<div class="category">
        <div class="hd"></div>
        <div class="bd"></div>
        <div class="ft"></div>
</div>

  大家先是給雙方各列了一堆優缺點,結果不相上下。然後從性能和可維護性上進行了詳細的爭論。
  性能分為下載性能(速度)和渲染性能,大家認為:
  1. 下載性能可能是短命名略勝一籌,因為文件會稍小些; 
  2. 渲染性能則是長命名好些,因為CSS中通常短命名我們用類似.box .hd {}定義樣式,而長命名直接是.box-hd {},pagespeed認為選擇器長度會影響渲染性能。 
  注:其實平時工作中這兩點都會被忽略。gzip可以進一步減少第一個問題的差距,而由此引發的渲染性能也是微乎其微。

  然後大家就可維護性進行了討論,這次支持長命名的人較多。
  1. 長命名給人較為可靠的感覺; 
  2. 長命名較短命名發生沖突的幾率低很多; 
  3. 可復用的內容通過短命名定義,無可爭議; 
  … 
  最後是使用場景,玉伯借用YAHOO首頁的例子牽頭,大家討論,總結如下:(主要依據可維護性)
  1. 框架級樣式用短命名,比如盒模型、柵格; 
  2. 通用樣式用短命名,比如.hidden、.clearfix; 
  3. 應用級樣式用長命名,比如淘江湖項目的通用樣式都加上“sns”前綴(有.sns-avatar、.sns-box等); 
  4. 頁面級樣式用長命名,比如類目模塊,可能包含category-hd、category-bd、category-bd-tips等; 
  5. 嵌入式應用用長命名,因為可能會被嵌入到任何復雜環境中,比如開源編輯器、Google的各種應用(map, adsence, gmail…) 
  以上結論有個前提:就是頁面是多人(包括後期的維護人員)協作的,一個人的頁面(如Blog)不在考慮范圍之內。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved