WEB前端開發規範文檔+CSS命名規範

來源於https://www.jb51.net/books/496860.html

WEB前端開發規範文檔+CSS命名規範css

規範目的
  爲提升團隊協做效率便於後臺人員添加功能及前端後期優化維護輸出高質量的文檔特制訂此文檔本規範文檔一經確認前端開發人員必 須按本文檔規範進行前臺頁面開發本文檔若有不對或者不合適的地方請及時提出經討論決定後方可更改.

基本準則
  符合web標準語義化html, 結構表現行爲分離兼容性優良頁面性能方面代碼要求簡潔明瞭有序儘量的減少服務器負載保證最快的 解析速度.

文件規範
  1. html, css, js, images文件均歸檔至<系統開發規範>約定的目錄中;
  2. html文件命名英文命名後綴.htm. 同時將對應界面稿放於同目錄中若界面稿命名爲中文請重命名與html文件同名以方便後端添加 功能時查找對應頁面;
  3. css文件命名英文命名後綴.css. 共用base.css, 首頁index.css, 其餘頁面依實際模塊需求命名.;
  4. Js文件命名英文命名後綴.js. 共用common.js, 其餘依實際模塊需求命名.

html書寫規範
  1. 文檔類型聲明及編碼統一爲html5聲明類型<!DOCTYPE html>; 編碼統一爲<meta charset="gbk" />, 書寫時利用IDE實現層 次分明的縮進;
  2. 非特殊狀況下樣式文件必須外鏈至<head>...</head>之間;非特殊狀況下JavaScript文件必須外鏈至頁面底部;
  3. 引入樣式文件或JavaScript文件時須略去默認類型聲明寫法以下:html

Example Source Code [www.52css.com]前端

<link rel="stylesheet" href="..." />
<style>...</style>
<script src="..."></script>html5


  4. 引入JS庫文件文件名須包含庫名稱及版本號及是否爲壓縮版好比jquery-1.4.1.min.js; 引入插件文件名格式爲庫名稱+插件名稱 jQuery.cookie.js;
  5. 全部編碼均遵循xhtml標準標籤 & 屬性 & 屬性命名 必須由小寫字母及下劃線數字組成且全部標籤必須閉合包括 br (<br />), hr(<hr />)屬性值必須用雙引號包括;
  6. 充分利用無兼容性問題的html自身標籤好比span, em, strong, optgroup, label,等等須要爲html元素添加自定義屬性的時候首先 要考慮下有沒有默認的已有的合適標籤去設置若是沒有可使用須以"data-"爲前綴來添加自定義屬性,避免使用"data:"等其餘命名方式;
  7. 語義化html,  標題根據重要性用h*(同一頁面只能有一個h1), 段落標記用p, 列表用ul, 內聯元素中不可嵌套塊級元素;
  8. 儘量減小div嵌套<div class="box"><div class="welcome">歡迎訪問XXX, 您的用 戶名是<div class="name">用戶名</div></div></div>徹底能夠用如下代碼替代: <div class="box"><p>歡迎 訪問XXX, 您的用戶名是<span>用戶名</span></p></div>;
  9. 書寫連接地址時必須避免重定向,例如:href="http://itaolun.com/", 即須在URL地址後面加上「/」
  10. 在頁面中儘可能避免使用style屬性,style="…";
  11. 必須爲含有描述性表單元素(input, textarea)添加label, jquery

Example Source Code [www.52css.com]css3

<p> : <input type="text" id="name" name="name" /></p>
須寫成:
<p><label for="name"> : </label><input type="text" id="name" /></p>web


  12. 能以背景形式呈現的圖片儘可能寫入css樣式中;
  13. 重要圖片必須加上alt屬性給重要的元素和截斷的元素加上title;
  14. 給區塊代碼及重要功能(好比循環)加上註釋方便後臺添加功能;
  15. 特殊符號使用儘量使用代碼替代好比 <(<) & >(>) & 空格( ) & »(») 等等;
  16. 書寫頁面過程當中請考慮向後擴展性;
  17. class & id 參見 css書寫規範.

css書寫規範
  1. 編碼統一爲utf-8;
  2. 協做開發及分工: i會根據各個模塊同時根據頁面類似程序事先寫好大致框架文件分配給前端人員實現內部結構&表現&行爲;  共用css文件base.cssi書寫協做開發過程當中每一個頁面請務必都要引入此文件包含reset及頭部底部樣式此文件不可隨意修改;
  3. classid的使用: id是惟一的並是父級的, class是能夠重複的並是子級的因此id僅使用在大的模塊上, class可用在重複使用率高及子級 ; id原則上都是由我分發框架文件時命名的JavaScript預留鉤子的除外;
  4. JavaScript預留鉤子的命名請以 js_ 起始好比: js_hide, js_show;
  5. classid命名大的框架命名好比header/footer/wrapper/left/right之類的在2中由i統一命名.其餘樣式名稱由 小寫英文 &   & _ 來組合命名i_comment, fontred, width200; 避免使用中文拼音儘可能使用簡易的單詞組合總之命名要語義化簡明 .
  6. 規避classid命名(此條重要如有不明白請及時與i溝通):
    a, 經過從屬寫法規避示例見d;
    b, 取父級元素id/class命名部分命名示例見d;
    c, 重複使用率高的命名請以本身代號加下劃線起始好比i_clear;
    d, a,b兩條適用於在2中已建好框架的頁面後端

Example Source Code [www.52css.com]服務器

要在2中已建好框架的頁面代碼<div id="mainnav"></div>中加入新的div ,
a命名法則: <div id="mainnav"><div class="firstnav">...</div></div>,
樣式寫法:  #mainnav  .firstnav{.......}
b命名法則: <div id="mainnav"><div class="main_firstnav">...</div></div>,
樣式寫法:  .main_firstnav{.......}cookie


  7. css屬性書寫順序建議遵循:  佈局定位屬性-->自身屬性-->文本屬性-->其餘屬性此條可根據自身習慣書寫但儘可能保證同類屬 性寫在一塊兒

Example Source Code [www.52css.com]

屬性列舉
佈局定位屬性主要包括: display & list-style & position(相應  top,right,bottom,left  
float & clear  visibility  overflow 
自身屬性主要包括: width & height & margin & padding & border & background; 
文本屬性主要包括:color & font & text-decoration & text-align & vertical-align & white- space & 
其餘 & content; 
我所列出的這些屬性只是最經常使用到的並不表明所有;


  8. 書寫代碼前考慮並提升樣式重複使用率;
  9. 充分利用html自身屬性及樣式繼承原理減小代碼量好比:

Example Source Code [www.52css.com]

<ul class="list"><li>這兒是標題列表<span>2010-09- 15</span></ul>
定義
ul.list li{position:relative}  ul.list li span{position:absolute; right:0}
便可實現日期居右顯示


  10. 樣式表中中文字體名請務必轉碼成unicode以免編碼錯誤時亂碼;
  11. 背景圖片請儘量使用sprite技術減少http請求考慮到多人協做開發, sprite按模塊製做;
  12. 使用table標籤時(儘可能避免使用table標籤), 請不要用width/ height/cellspacing/cellpaddingtable屬性直接定義表現應儘量的利用table自身私有屬性分離結構與表現 , 

Example Source Code [www.52css.com]

thead,tr,th,td,tbody,tfoot,colgroup,scope;
 (cellspaingcellpaddingcss控制方法
table{border:0;margin:0;border-collapse:collapse;} table th, table td{padding:0;} , 
base.css文件中我會初始化表格樣式)


  13. 杜絕使用<meta http-equiv="X-UA-Compatible" content="IE=7" /> 兼容 ie8;
  14. png圖片作圖片時要求圖片格式爲png-8格式,png-8實在影響圖片質量或其中有半透明效果請爲ie6單獨定義背景:

Example Source Code [www.52css.com]

_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 
(sizingMethod=crop, src=’img/bg.png’);


  15. 避免兼容性屬性的使用好比text-shadow || css3的相關屬性;
  16. 減小使用影響性能的屬性好比position:absolute || float ;
  17. 必須爲大區塊樣式添加註釋小區塊適量註釋;
  18. 代碼縮進與格式建議單行書寫可根據自身習慣後期優化i會統一處理;

JavaScript書寫規範
  1. 文件編碼統一爲utf-8, 書寫過程過每行代碼結束必須有分號原則上全部功能均根據XXX項目需求原生開發以免網上down下來的代碼造 成的代碼污染(沉冗代碼 || 與現有代碼衝突 || ...);
  2. 庫引入原則上僅引入jQuery若需引入第三方庫須與團隊其餘人員討論決定;
  3. 變量命名駝峯式命名原生JavaScript變量要求是純英文字母首字母須小寫iTaoLun;

Example Source Code [www.52css.com]

jQuery變量要求首字符爲'_', 其餘與原生JavaScript 規則相同: _iTaoLun;
要求變量集中聲明避免全局變量.


  4. 類命名首字母大寫駝峯式命名 ITaoLun;
  5. 函數命名首字母小寫駝峯式命名iTaoLun();
  6. 命名語義化儘量利用英文單詞或其縮寫;
  7. 儘可能避免使用存在兼容性及消耗資源的方法或屬性好比eval() & innerText;
  8. 後期優化中, JavaScript非註釋類中文字符須轉換成unicode編碼使用以免編碼錯誤時亂碼顯示;
  9. 代碼結構明瞭加適量註釋提升函數重用率;
  10. 注重與html分離減少reflow, 注重性能.

圖片規範
  1. 全部頁面元素類圖片均放入img文件夾測試用圖片放於img/demoimg文件夾;
  2. 圖片格式僅限於gif || png || jpg;
  3. 命名所有用小寫英文字母 || 數字 || _ 的組合,其中不得包含漢字 || 空格 || 特殊字符;儘可能用易懂的詞彙便於團隊其餘成員理 命名分頭尾兩部分用下劃線隔開好比ad_left01.gif || btn_submit.gif;
  4. 在保證視覺效果的狀況下選擇最小的圖片格式與圖片質量以減小加載時間;
  5. 儘可能避免使用半透明的png圖片(若使用請參考css規範相關說明);
  6. 運用css sprite技術集中小的背景圖或圖標減少頁面http請求但注意請務必在對應的sprite psd源圖中劃參考線並保存至img目錄 .

註釋規範
  1. html註釋註釋格式 <!--這兒是註釋-->, '--'只能在註釋的始末位置,不可置入註釋文字區域;
  2. css註釋註釋格式 /*這兒是註釋*/;
  3. JavaScript註釋單行註釋使用'//這兒是單行註釋' ,多行註釋使用 /* 這兒有多行註釋 */;

開發及測試工具約定
  建議使用Aptana || Dw || Vim , 亦可根據本身喜愛選擇但須遵循以下原則:
  1. 不可利用IDE的視圖模式''代碼;
  2. 不可利用IDE生成相關功能代碼好比Dw內置的一些功能js;
  3. 編碼必須格式化好比縮進;
  測試工具前期開發僅測試FireFox & IE6 & IE7 & IE8 , 後期優化時加入Opera & Chrome & Safari;
  建議測試順序: FireFox-->IE7-->IE8-->IE6-->Opera-->Chrome-->Safari, 建議安裝firebugIE Tab Plus插件.

其餘規範
  1. 開發過程當中嚴格按分工完成頁面以提升css複用率避免重複開發;
  2. 減少沉冗代碼書寫全部人均可以看的懂的代碼簡潔易懂是一種美德爲用戶着想爲服務器着想.

 

DIV+CSS 命名規範

1.CSS ID 的命名
外 套:  wrap
主導航:  mainnav
子導航:  subnav
頁 腳:  footet
整個頁面: content
頁 眉:  header
頁 腳:  footer
商 標:  label
標 題:  title
主導航:  mainbavglobalnav
頂導航:  topnav
邊導航:  sidebar
左導航:  leftsidebar
右導航:  rightsidebar
旗 志:  logo
標 語:  banner
菜單內容1menu1 content
菜單容量: menu container
子菜單:  submenu
邊導航圖標:sidebarIcon
註釋:   note
麪包屑:  breadcrumb(即頁面所處位置導航提示)
容器:   container
內容:   content
搜索:   search
登錄:   Login
功能區:  shop(如購物車,收銀臺)
當前的   current

2.另外在編輯樣式表時可用的註釋可這樣寫:
<-- Footer -->
內容區
<-- End Footer -->

3.樣式文件命名
主要的 master.css
佈局,版面 layout.css
專欄 columns.css
文字 font.css
打印樣式 print.css
主題 themes.css

相關文章
相關標籤/搜索