Rising Sun

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks

          基本規范

          語義

          使用符合語義的標簽書寫 HTML 文檔, 選擇恰當的元素表達所需的含義;

          <!-- 不推薦 --> <div onclick="goToRecommendations();">All recommendations</div> 
          <!-- 推薦 --> <a href="recommendations/">All recommendations</a> 

          大小寫

          元素的標簽和屬性名必須小寫, 屬性值必須加雙引號; 例如

          <!-- 不推薦 --> <A HREF='/'>Home</A> 
          <!-- 推薦 --> <a href="/">Home</a> 

          縮進

          • 使用四個空格來表示縮進,不要使用 tab 鍵;
          • 在塊狀元素,列表,表格元素后面使用新行,并且對它的子元素進行縮進.

          例如

          <ul>     <li>         1     </li> </ul> 

          空格

          去除比不必要的空格; 例如

          <!-- 不推薦 --> <p>test                  </p> 
          <!-- 推薦 --> <p>test</p> 

          嵌套

          • 元素嵌套遵循 (X)HTML Strict 嵌套規則, 推薦使用Firefox插件 HTML Validator 進行檢查;
          • 正確區分自閉合元素和非自閉合元素. 非法閉合包括:<br>..</br>、<script />、<iframe />, 非法閉合會導致頁面嵌套錯誤問題;
          <!-- 不推薦 --> <title>Test</title> <article>This is only a test. 
          <!-- 推薦 --> <!DOCTYPE html> <meta charset="utf-8"> <title>Test</title> <article>This is only a test.</article> 

          引號

          使用雙引號來標識 html 的屬性; 例如

          <!-- 不推薦 --> <a class='maia-button maia-button-secondary'>Sign in</a> 
          <!-- 推薦 --> <a class="maia-button maia-button-secondary">Sign in</a> 

          自定義屬性

          通過給元素設置自定義屬性來存放與 JavaScript 交互的數據, 屬性名格式為 data-xx (例如:data-lazyload-url)

          DOCTYPE

          頁面文檔類型統一使用HTML5 DOCTYPE. 代碼如下:

          <!doctype html> 

          編碼

          聲明方法遵循HTML5的規范.推薦使用 utf-8 編碼.

          <meta charset="utf-8" /> 

          注釋

          建議對超過10行的頁面模塊進行注釋, 以降低開發人員的嵌套成本和后期的維護成本. 例如:

          <div id="sample">     ... </div> <!-- #sample END --> 
          <div class="sample">     ... </div> <!-- .sample END --> 

          協議

          如果鏈接和當前頁面一致則忽略鏈接的協議部分,例如

          <!-- 不推薦 --> <script src="http://www.taobao.com/fp.js"></script> 
          <!-- 推薦 --> <script src="http://www.taobao.com/fp.js"></script> 
          /* 不推薦 */ .example {   background: url(http://www.taobao.com/fp.css); } 
          /* 推薦 */ .example {   background: url(//www.taobao.com/fp.css); } 

          TODO

          • 使用 TODO 來標記待做事情,便于后期搜索.
          • 在 TODO 后添加 (姓名或郵件) 來表示分類.

          例如

          <!-- TODO(yiminghe): remove duplicate tag --> <p><span>2</span></p> 

          焦點分離

          • 將表現,行為和結構分離:不要在 html 和模板中加入除了結構以外的東西.
          • 在文檔中引入盡可能少的樣式和腳本
          <!-- 不推薦 --> <!DOCTYPE html> <title>HTML sucks</title> <link rel="stylesheet" href="base.css" media="screen"> <link rel="stylesheet" href="grid.css" media="screen"> <link rel="stylesheet" href="print.css" media="print"> <h1 style="font-size: 1em;">HTML sucks</h1> <p>I’ve read about this on a few sites but now I’m sure:   <u>HTML is stupid!!1</u> <center>I can’t believe there’s no way to control the styling of   my website without doing everything all over again!</center> 
          <!-- 推薦 --> <!DOCTYPE html> <title>My first CSS-only redesign</title> <link rel="stylesheet" href="default.css"> <h1>My first CSS-only redesign</h1> <p>I’ve read about this on a few sites but today I’m actually   doing it: separating concerns and avoiding anything in the HTML of   my website that is presentational. <p>It’s awesome! 

          元素

          結構性元素

          • p 表示段落. 只能包含內聯元素, 不能包含塊級元素;
          • div 本身無特殊含義, 可用于布局. 幾乎可以包含任何元素;
          • br 表示換行符;
          • hr 表示水平分割線;
          • h1-h6 表示標題. 其中 h1 用于表示當前頁面最重要的內容的標題;
          • blockquote 表示引用, 可以包含多個段落. 請勿純粹為了縮進而使用 blockquote, 大部分瀏覽器默認將 blockquote 渲染為帶有左右縮進;
          • pre 表示一段格式化好的文本;

          頭部元素

          • title 每個頁面必須有且僅有一個 title 元素;
          • base 可用場景:首頁、頻道等大部分鏈接都為新窗口打開的頁面;
          • link link 用于引入 css 資源時, 可省去 media(默認為all) 和 type(默認為text/css) 屬性;
          • style type 默認為 text/css, 可以省去;
          • script type 屬性可以省去; 不贊成使用lang屬性; 不要使用古老的<!– //–>這種hack腳本, 它用于阻止第一代瀏覽器(Netscape 1和Mosaic)將腳本顯示成文字;
          <!-- 不推薦 --> <link rel="stylesheet" href="http://www.google.com/css/maia.css"   type="text/css">  <!-- 不推薦 --> <script src="http://www.google.com/js/gweb/analytics/autotrack.js"   type="text/javascript"></script> 
          <!-- 推薦 --> <link rel="stylesheet" href="http://www.google.com/css/maia.css">  <!-- 推薦 --> <script src="http://www.google.com/js/gweb/analytics/autotrack.js"></script> 
          • noscript 在用戶代理不支持 JavaScript 的情況下提供說明;

          文本元素

          • a a 存在 href 屬性時表示鏈接, 無 href 屬性但有 name 屬性表示錨點;
          • em,strong em 表示句意強調, 加與不加會引起語義變化, 可用于表示不同的心情或語調; strong 表示重要性強調, 可用于局部或全局, strong強調的是重要性, 不會改變句意;
          • abbr 表示縮寫;
          • sub,sup 主要用于數學和化學公式, sup還可用于腳注;
          • span 本身無特殊含義;
          • ins,del 分別表示從文檔中增加(插入)和刪除

          媒體元素

          • img 請勿將img元素作為定位布局的工具, 不要用他顯示空白圖片; 給img元素增加alt屬性;例如
          <!-- 不推薦 --> <img src="spreadsheet.png"> 
          <!-- 推薦 --> <img src="spreadsheet.png" alt="Spreadsheet screenshot."> 
          • object 可以用來插入Flash;

          列表元素

          • dl 表示關聯列表, dd是對dt的解釋; dt和dd的對應關系比較隨意: 一個dt對應多個dd、多個dt對應一個dd、多個dt對應多個dd, 都合法; 可用于名詞/單詞解釋、日程列表、站點目錄;
          • ul 表示無序列表;
          • ol 表示有序列表, 可用于排行榜等;
          • li 表示列表項, 必須是ul/ol的子元素;

          表單元素

          • 推薦使用 button 代替 input, 但必須聲明 type;
          • 推薦使用 fieldset, legend 組織表單
          • 表單元素的 name 不能設定為 action, enctype, method, novalidate, target, submit 會導致表單提交混亂

          文檔模板

          <!doctype html> <html>     <head>         <meta charset="utf-8" />         <title>Sample page</title>         <link rel="stylesheet" href="css_example_url" />     </head>     <body>         <div id="page">             <div id="header">                 頁頭             </div>             <div id="content">                 主體             </div>             <div id="footer">                 頁尾             </div>         </div>         <script src="js_example_url"></script>         <script>         // 你的代碼         </script>     </body> </html> 
          posted on 2013-03-11 17:31 brock 閱讀(2452) 評論(0)  編輯  收藏 所屬分類: 其它
          主站蜘蛛池模板: 桓台县| 方城县| 叶城县| 剑河县| 长宁区| 化州市| 孟村| 石景山区| 黔江区| 汶上县| 柏乡县| 上饶市| 和平区| 泰和县| 紫金县| 克拉玛依市| 开远市| 神木县| 辽阳市| 余干县| 江永县| 安乡县| 鹤山市| 弥渡县| 环江| 岐山县| 龙陵县| 晴隆县| 黄梅县| 利津县| 宁城县| 中西区| 华亭县| 阳新县| 阿城市| 民权县| 景泰县| 安图县| 翁源县| 汽车| 蒙城县|