Web開發(fā)規(guī)范 (一)

via:Github

通用規(guī)范

  • 使用空格代替TAB,windows和Linux的Tab占位不同。
  • CSS樣式屬性和 JavaScript代碼后邊添加分號; ,方便斷句,利于壓縮。
  • 文件內(nèi)容編碼均統(tǒng)一為UTF-8。
  • CSS、JAVASCRIPT中的非注釋類中文字符須轉(zhuǎn)換成unicode編碼使用,以避免編碼錯誤時亂碼顯示。

文件規(guī)范

  • 文件名用英文單詞,多個單詞用駝峰命名法。
  • 一些瀏覽器會將含有這些詞的作為廣告攔截,文件命名、ID、CLASS等所有命名避免以上詞匯。ad`、`ads`、`adv`、`banner`、`sponsor`、`gg`、`guangg`、`guanggao

HTML書寫規(guī)范

  • 為每個HTML頁面的第一行添加標(biāo)準(zhǔn)模式(standard mode)的聲明,確保在每個瀏覽器中擁有一致的展現(xiàn)。
    <!DOCTYPE html>
  • 文檔類型聲明統(tǒng)一為HTML5聲明類型,編碼統(tǒng)一為UTF-8。
    <meta charset="UTF-8">
  • <HEAD>中添加信息。
 <meta name="author" content="smile@kang.cool">//作者
 <meta name="description" content="hello">//網(wǎng)頁描述
 <meta name="keywords" content="a,b,c">//關(guān)鍵字,“,”分隔
 <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT">//設(shè)定網(wǎng)頁的到期時間。一旦網(wǎng)頁過期,必須到服務(wù)器上重新調(diào)閱
 <meta http-equiv="Pragma" content="no-cache">//禁止瀏覽器從本地機(jī)的緩存中調(diào)閱頁面內(nèi)容
 <meta http-equiv="Window-target" content="_top">//用來防止別人在框架里調(diào)用你的頁面
 <meta http-equiv="Refresh" content="5;URL=http://kahn1990.com/">//跳轉(zhuǎn)頁面,5指時間停留5秒 網(wǎng)頁搜索機(jī)器人向?qū)АS脕砀嬖V搜索機(jī)器人哪些頁面需要索引,哪些頁面不需要索引
 <meta name="robots" content="none">//content的參數(shù)有all,none,index,noindex,follow,nofollow,默認(rèn)是all
 <link rel="Shortcut Icon" href="favicon.ico">//收藏圖標(biāo)
 <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">//網(wǎng)頁不會被緩存
  • IE支持通過特定<meta>標(biāo)簽來確定繪制當(dāng)前頁面所應(yīng)該采用的IE版本。除非有強(qiáng)烈的特殊需求,否則最好是設(shè)置為edge mode ,從而通知IE采用其所支持的最新的模式。
meta http-equiv="X-UA-Compatible" content="IE=Edge">
  • 非特殊情況下CSS樣式文件外鏈至HEAD之間,JAVASCRIPT文件外鏈至頁面底部。引入JAVASCRIPT庫文件,文件名須包含庫名稱及版本號及是否為壓縮版。引入JAVASCRIPT插件, 文件名格式為庫名稱+.+插件名稱。jQuery.cookie.js

  • HTML屬性應(yīng)當(dāng)按照以下給出的順序依次排列,來確保代碼的易讀性。

class
id 、 name
data-*
src、for、 type、 href
title、alt
aria-*、 role
  • 編碼均遵循XHTML標(biāo)準(zhǔn),標(biāo)簽、屬性、屬性命名由小寫英文、數(shù)字和_組成,且所有標(biāo)簽必須閉合,屬性值必須用雙引號””,避免使用中文拼音盡量簡易并要求語義化。
CLASS --> nHeadTitle --> CLASS遵循小駝峰命名法(little camel-case)
ID --> n_head_title --> ID遵循名稱+_
NAME --> N_Head_Title --> NAME屬性命名遵循首個字母大寫+_
<div class="nHeadTitle" id="n_head_title" name="N_Head_Title"></div>
  • 當(dāng)JAVASCRIPT獲取單個元素時,通常使用document.getElementById來獲取dom元素,document.getElementById兼容所有瀏覽器,但I(xiàn)E瀏覽器會混淆元素的ID和NAME屬性,所以要區(qū)分ID和NAME命名。
<input type="text" name="test">
<div id="test"></div>
<button onclick="alert(document.getElementById('test').tagName)"></button>
<!-- ie6下為INPUT -->
  • 特殊符號應(yīng)使用轉(zhuǎn)意符。
<    -->    &lt;
>    -->    &gt;
空格  -->     
  • 含有描述性表單元素(INPUT,TEXTAREA)添加LABEL。
<p>
    <label for="test">測試</label>
    <input type="text" id="test" />
</p>
  • 多用無兼容性問題的HTML內(nèi)置標(biāo)簽,比如SPAN、EM、STRONG、OPTGROUP、LABEL等,需要自定義HTML標(biāo)簽屬性時,首先考慮是否存在已有的合適標(biāo)簽可替換,如果沒有,可使用須以“data-”為前綴來添加自定義屬性,避免使用其他命名方式。
  • 語義化HTML。
  • 盡可能減少<DIV>嵌套。
  • 書寫鏈接地址時避免重定向。
    //即在URL地址后面加“/”
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock閱讀 3,408評論 2 36
  • Web前端開發(fā)規(guī)范文檔 規(guī)范目的: 使開發(fā)流程更加規(guī)范化。 通用規(guī)范: TAB鍵用兩個空格代替(WINDOWS下T...
    蕎葉閱讀 552評論 0 1
  • #基本功# 《特質(zhì)》 當(dāng)你在聽演講的時候,你最喜歡演講者身上的什么特質(zhì)? 看到今天晚上的這個話題,演講者的特質(zhì)的時...
    蜜絲姜閱讀 162評論 0 1
  • 十年前,在洛陽學(xué)茶。 大概也是這個樣子。每天早早起床,然后穿過車水馬龍的大街,到熱氣騰騰包子鋪吃籠包子,這很重要。...
    孔雀堂茶號閱讀 413評論 0 3