成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

[譯]谷歌 HTML/CSS 規范

開發 前端
這篇文章定義了 HTML 和 CSS 的格式和代碼規范,旨在提高代碼質量和協作效率。

[[172592]]

背景

這篇文章定義了 HTML 和 CSS 的格式和代碼規范,旨在提高代碼質量和協作效率。

通用樣式規范

協議

省略圖片、樣式、腳本以及其他媒體文件 URL 的協議部分(http:,https:),除非文件在兩種協議下都不可用。這種方案稱為 protocol-relative URL,好處是無論你是使用 HTTPS 還是 HTTP 訪問頁面,瀏覽器都會以相同的協議請求頁面中的資源,同時可以節省一部分字節。 

  1. <!-- Not recommended --> 
  2.  
  3. <script src="https://www.google.com/js/gweb/analytics/autotrack.js"></script>  
  1. <!-- Recommended --> 
  2.  
  3. <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>  
  1. /* Not recommended */ 
  2.  
  3. .example { 
  4.  
  5. background: url(https://www.google.com/images/example); 
  6.  
  7.  
  1. /* Recommended */ 
  2.  
  3. .example { 
  4.  
  5. background: url(//www.google.com/images/example); 
  6.  
  7.  

通用格式規范

縮進

一次縮進2個空格,不要使用 tab 或者混合 tab 和空格的縮進。 

  1. <ul> 
  2.   <li>Fantastic 
  3.   <li>Great 
  4. </ul>  
  1. .example { 
  2.  
  3.     color: blue; 
  4.  
  5.  

大小寫

以下都應該用小寫:HTML 元素名稱,屬性,屬性值(除非 text/CDATA),CSS 選擇器,屬性,屬性值。 

  1. <!-- Not recommended --> 
  2. <A HREF="/">Home</A>  
  1. <!-- Recommended --> 
  2.  
  3. <img src="google.png" alt="Google" 
  1. /* Not recommended */ 
  2.  
  3. color: #E5E5E5;  
  1. /* Recommended */ 
  2.  
  3. color: #e5e5e5;  

結尾空格

結尾空格不僅多余,而且在比較代碼時會更麻煩。 

  1. <!-- Not recommended --> 
  2.  
  3. <p>What?_  
  1. <!-- Recommended --> 
  2.  
  3. <p>Yes please.  

通用元規范

編碼

在 HTML 中通過 <meta charset="utf-8"> 指定編碼方式,CSS 中不需要指定,因為默認是 UTF-8。

注釋

使用注釋來解釋代碼:包含的模塊,功能以及優點。

任務項

用 TODO 來標記待辦事項,而不是用一些其他的標記,像 @@。 

  1. <!-- TODO: remove optional tags --> 
  2. <ul> 
  3.   <li>Apples</li> 
  4.   <li>Oranges</li> 
  5. </ul>  

HTML 風格規范

文檔類型

HTML 文檔應使用 HTML5 的文檔類型:<!DOCTYPE html>。

孤立標簽無需封閉自身,<br> 不要寫成 <br />。

HTML 正確性

盡可能使用正確的 HTML。 

  1. <!-- Not recommended --> 
  2. <title>Test</title> 
  3. <article>This is only a test.  
  1. <!-- Recommended --> 
  2. <!DOCTYPE html> 
  3. <meta charset="utf-8"
  4. <title>Test</title> 
  5. <article>This is only a test.</article>  

語義化

根據使用場景選擇正確的 HTML 元素(有時被錯誤的稱為“標簽”)。例如,使用 h1 元素創建標題,p 元素創建段落,a 元素創建鏈接等等。正確的使用 HTML 元素對于可訪問性、可重用性以及編碼效率都很重要。

  1. <!-- Not recommended --> 
  2. <div onclick="goToRecommendations();">All recommendations</div>  
  1. <!-- Recommended --> 
  2.  
  3. <a href="recommendations/">All recommendations</a>  

多媒體元素降級

對于像圖片、視頻、canvas 動畫等多媒體元素,確保提供其他可訪問的內容。圖片可以使用替代文本(alt),視頻和音頻可以使用文字版本。 

  1. <!-- Not recommended --> 
  2.  
  3. <img src="spreadsheet.png" 
  1. <!-- Recommended --> 
  2.  
  3. <img src="spreadsheet.png" alt="Spreadsheet screenshot." 

關注分離

標記、樣式和腳本分離,確保相互耦合最小化。

實體引用

如果團隊中文件和編輯器使用同樣的編碼方式,就沒必要使用實體引用,如 —, ”,☺,除了一些在 HTML 中有特殊含義的字符(如 < 和 &)以及不可見的字符(如空格)。 

  1. <!-- Not recommended --> 
  2.  
  3. The currency symbol for the Euro is “&eur;”.  
  1. <!-- Recommended --> 
  2.  
  3. The currency symbol for the Euro is “€”.  

type 屬性

在引用樣式表和腳本時,不要指定 type 屬性,除非不是 CSS 或 JavaScript。因為 HTML5 中已經默認指定樣式變的 type 是 text/css,腳本的type 是 text/javascript。 

  1. <!-- Not recommended --> 
  2.  
  3. <link rel="stylesheet" href="//www.google.com/css/maia.css" 
  4.  
  5. type="text/css" 
  1. <!-- Recommended --> 
  2. <link rel="stylesheet" href="//www.google.com/css/maia.css" 
  1. <!-- Not recommended --> 
  2.  
  3. <script src="//www.google.com/js/gweb/analytics/autotrack.js" 
  4.  
  5. type="text/javascript"></script>  
  1. <!-- Recommended --> 
  2.  
  3. <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>  

HTML 格式規范

HTML 引號

屬性值用雙引號。 

  1. <!-- Not recommended --> 
  2.  
  3. <a class='maia-button maia-button-secondary'>Sign in</a>  
  1. <!-- Recommended --> 
  2.  
  3. <a class="maia-button maia-button-secondary">Sign in</a>  

CSS 風格規范

ID 和 Class 命名

使用有含義的 id 和 class 名稱。 

  1. /* Not recommended: meaningless */ 
  2. #yee-1901 {} 
  3.  
  4. /* Not recommended: presentational */ 
  5. .button-green {} 
  6. .clear {}  
  1. /* Recommended: specific */ 
  2. #gallery {} 
  3. #login {} 
  4. .video {} 
  5.  
  6. /* Recommended: generic */ 
  7. .aux {} 
  8. .alt {}  

ID 和 Class 命名風格

id 和 class 應該盡量簡短,同時要容易理解。 

  1. /* Not recommended */ 
  2. #navigation {} 
  3. .atr {}  
  1. /* Recommended */ 
  2.  
  3. #nav {} 
  4.  
  5. .author {}  

選擇器

除非需要,否則不要在 id 或 class 前加元素名。 

  1. /* Not recommended */ 
  2. ul#example {} 
  3. div.error {}  
  1. /* Recommended */ 
  2.  
  3. #example {} 
  4.  
  5. .error {}  

屬性簡寫

盡量使用 CSS 中可以簡寫的屬性 (如 font),可以提高編碼效率以及代碼可讀性。 

  1. /* Not recommended */ 
  2. border-top-style: none; 
  3. font-family: palatino, georgia, serif; 
  4. font-size: 100%; 
  5. line-height: 1.6; 
  6. padding-bottom: 2em; 
  7. padding-left: 1em; 
  8. padding-right: 1em; 
  9. padding-top: 0;  
  1. /* Recommended */ 
  2. border-top: 0; 
  3. font: 100%/1.6 palatino, georgia, serif; 
  4. padding: 0 1em 2em;  

0 和單位

值為 0 時不用添加單位。 

  1. margin: 0; 
  2. padding: 0;  

開頭的 0

值在 -1 和 1 之間時,不需要加 0。 

  1. font-size: .8em; 

16進制表示法 

  1. /* Not recommended */ 
  2.  
  3. color: #eebbcc; 
  1. /* Recommended */  
  2.   
  3. color: #ebc;  

前綴

使用帶前綴的命名空間可以防止命名沖突,同時提高代碼可維護性。

  1. .adw-help {} /* AdWords */ 
  2. #maia-note {} /* Maia */  

ID 和 Class 命名分隔符

選擇器中使用連字符可以提高可讀性。 

  1. /* Not recommended: does not separate the words “demo” and “image” */ 
  2. .demoimage {} 
  3.  
  4. /* Not recommended: uses underscore instead of hyphen */ 
  5. .error_status {}  
  1. /* Recommended */ 
  2.  
  3. #video-id {} 
  4.  
  5. .ads-sample {}  

CSS 格式規范

書寫順序

按照屬性首字母順序書寫 CSS 易于閱讀和維護,排序時忽略帶有瀏覽器前綴的屬性。 

  1. background: fuchsia; 
  2. border: 1px solid; 
  3. -moz-border-radius: 4px; 
  4. -webkit-border-radius: 4px; 
  5. border-radius: 4px; 
  6. color: black; 
  7. text-align: center; 
  8. text-indent: 2em;  

塊級內容縮進

為了反映層級關系和提高可讀性,塊級內容都應縮進。

  1. @media screen, projection { 
  2.  
  3.   html { 
  4.     background: #fff; 
  5.     color: #444; 
  6.   } 
  7.  
  8.  

聲明結束

每行 CSS 都應以分號結尾。

  1. /* Not recommended */ 
  2.  
  3. .test { 
  4.  
  5. display: block; 
  6.  
  7. height: 100px 
  8.  
  9.  
  1. /* Recommended */ 
  2.  
  3. .test { 
  4.  
  5. display: block; 
  6.  
  7. height: 100px; 
  8.  

 屬性名結尾

屬性名和值之間都應有一個空格。 

  1. /* Not recommended */ 
  2.  
  3. h3 { 
  4.  
  5. font-weight:bold; 
  6.  
  7.  
  1. /* Recommended */ 
  2.  
  3. h3 { 
  4.  
  5. font-weight: bold; 
  6.  
  7.  

聲明樣式塊的分隔

在選擇器和 {} 之間用空格隔開。 

  1. /* Not recommended: missing space */ 
  2. #video{ 
  3.   margin-top: 1em; 
  4.  
  5. /* Not recommended: unnecessary line break */ 
  6. #video 
  7.   margin-top: 1em; 
  8.  
  1. /* Recommended */ 
  2.  
  3. #video { 
  4.  
  5. margin-top: 1em; 
  6.  
  7.  

選擇器分隔

每個選擇器都另起一行。 

  1. /* Not recommended */ 
  2.  
  3. a:focus, a:active { 
  4.  
  5. position: relativetop: 1px; 
  6.  
  7.  
  1. /* Recommended */ 
  2.  
  3. h1, 
  4.  
  5. h2, 
  6.  
  7. h3 { 
  8.  
  9. font-weight: normal; 
  10.  
  11. line-height: 1.2; 
  12.  
  13.  

規則分隔

規則之間都用空行隔開。

  1. html { 
  2.   background: #fff; 
  3.  
  4. body { 
  5.   margin: auto; 
  6.   width: 50%; 
  7.  

CSS 引號

屬性選擇器和屬性值用單引號,URI 的值不需要引號。

  1. /* Not recommended */ 
  2.  
  3. @import url("//www.google.com/css/maia.css"); 
  4.  
  5. html { 
  6.  
  7. font-family: "open sans", arial, sans-serif; 
  8.  
  9.  
  1. /* Recommended */ 
  2.  
  3. @import url(//www.google.com/css/maia.css); 
  4.  
  5. html { 
  6.  
  7. font-family: 'open sans', arial, sans-serif; 
  8.  
  9.  

CSS 元規則

分段注釋

用注釋把 CSS 分成各個部分。

  1. /* Header */ 
  2.  
  3. #adw-header {} 
  4.  
  5. /* Footer */ 
  6.  
  7. #adw-footer {} 
  8.  
  9. /* Gallery */ 
  10.  
  11. .adw-gallery {}  

結語

堅持遵循代碼規范。

寫代碼前先看看周圍同事的代碼,然后決定代碼風格。

代碼規范的意義在于提供一個參照物。這里提供了一份全局的規范,但是你也得參照公司內部的規范,否則閱讀你代碼的人會很痛苦。

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2020-04-16 21:02:35

前端命名規范html規范

2015-03-18 09:34:47

程序員編碼規范

2017-07-20 11:11:39

前端CSS書寫規范

2010-08-31 13:32:12

CSS

2022-12-28 08:16:30

CSS新規范樣式

2010-08-31 11:25:15

2010-09-01 09:59:32

CSS

2009-06-23 09:25:01

谷歌人才流失

2010-08-24 15:31:51

DIVCSS

2010-09-01 10:17:38

CSShack注釋

2010-09-02 09:32:09

DIV CSS

2010-08-16 14:07:44

盒模型marginpadding

2014-03-17 09:34:01

HTMLHTML閉合

2014-08-28 11:12:14

谷歌

2014-08-07 10:13:43

谷歌Material De設計規范

2014-06-17 12:50:04

2013-09-16 10:19:08

htmlcssJavaScript

2010-09-13 09:35:28

DIVCSS

2010-08-27 15:16:26

htmlbodyCSS

2010-09-07 15:53:02

CSS規范化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久这里有精品 | 中文字幕日韩一区二区 | 国产精品久久久久久高潮 | 日日精品| 久久伊人精品 | 久久婷婷av| 久久99深爱久久99精品 | 亚洲精品在线免费看 | 成人国产精品视频 | 综合色播| 亚洲欧洲精品成人久久奇米网 | 国产成人99久久亚洲综合精品 | 国产亚洲欧美另类一区二区三区 | 国产精品久久久久久网站 | 亚洲视频在线一区 | 久久精品这里精品 | 国产乱码精品一区二区三区中文 | 久久精品国内 | 成人av资源在线 | 国产高清视频在线 | 一区二区三区高清不卡 | 国产欧美日韩精品一区二区三区 | 久久999 | 国产精品久久久久久婷婷天堂 | 国产美女视频黄a视频免费 国产精品福利视频 | 成人av影院 | 91久久久久久久久久久 | 理论片午午伦夜理片影院 | 91xxx在线观看 | 九色在线视频 | 精品久久一区 | 久久久久久久国产 | 国产激情偷乱视频一区二区三区 | 国产精品婷婷 | 高清欧美性猛交xxxx黑人猛交 | 国产一二三区精品视频 | 国产精品久久久久久久久久免费看 | 久草视频在线播放 | 中文字幕一区在线 | 精品麻豆剧传媒av国产九九九 | 日韩在线观看中文字幕 |