1. 程式人生 > 實用技巧 >編碼規範_html程式碼規範化編寫

編碼規範_html程式碼規範化編寫

語法

  • 縮排使用soft tab(4個空格);

  • 巢狀的節點應該縮排;

  • 在屬性上,使用雙引號,不要使用單引號;

  • 屬性名全小寫,用中劃線做分隔符;

  • 不要在自動閉合標籤結尾處使用斜線(html5 規範指出他們是可選的);

  • 不要忽略可選的關閉標籤;

html5 doctype

在頁面開頭使用這個簡單地doctype來啟用標準模式,使其在每個瀏覽器中儘可能一致的展現;

雖然doctype不區分大小寫,但是按照慣例,doctype大寫 (關於html屬性,大寫還是小寫)。

<!DOCTYPE html>

  

lang屬性

根據html5規範:

應在html標籤上加上lang屬性。這會給語音工具和翻譯工具幫助,告訴它們應當怎麼去發音和翻譯。

更多關於lang屬性的說明在這裡;

在sitepoint上可以查到語言列表;

但sitepoint只是給出了語言的大類,例如中文只給出了zh,但是沒有區分香港,臺灣,大陸。而微軟給出了一份更加詳細的語言列表,其中細分了zh-cn, zh-hk, zh-tw。

<html lang="en-us">

  

字元編碼

通過宣告一個明確的字元編碼,讓瀏覽器輕鬆、快速的確定適合網頁內容的渲染方式,通常指定為'UTF-8'。

<meta charset="UTF-8"> 

  

IE相容模式

用<meta>籤可以指定頁面應該用什麼版本的IE來渲染;

程式碼示例:

<meta http-equiv="X-UA-Compatible"content="IE=Edge">

  

引入css,js

根據html5規範, 通常在引入css和js時不需要指明type,因為text/css和text/JavaScript分別是他們的預設值。

html5 規範連結

  • 使用link

  • 使用style

  • 使用script

<!-- External css -->
<link rel="stylesheet" href="code_guide.css">

<!-- In-document css -->
<style>    
</style>

<!-- External js -->
<script src="code_guide.js"></script>

<!-- In-document js -->
<script>   
</script>

  

屬性順序

屬性應該按照特定的順序出現以保證易讀性;

  • class

  • id

  • name

  • data-*

  • src,for,type,href,value,max-length,max,min,pattern

  • placeholder,title,alt

  • aria-*,role

  • required,readonly,disabled

class是為高可複用元件設計的,所以應處在第一位;

id更加具體且應該儘量少使用,所以將它放在第二位。

<a id="..." data-modal="toggle" href="#">
Example link
</a>
<img src="..." alt="...">

  

boolean屬性

boolean屬性指不需要宣告取值的屬性,Xhtml需要每個屬性宣告取值,但是HTML5並不需要;boolean屬性的存在表示取值為true,不存在則表示取值為false。

<input type="text" disabled>

<input type="checkbox" value="1" checked>

<select>   
<option value="1" selected>1</option>
</select>

  

攝圖網https://www.wode007.com/sites/73204.html VJ師網https://www.wode007.com/sites/73287.html

js生成標籤

在js檔案中生成標籤讓內容變得更難查詢,更難編輯,效能更差。應該儘量避免這種情況的出現。

減少標籤數量

在編寫HTML程式碼時,需要儘量避免多餘的父節點;

很多時候,需要通過迭代和重構來使HTML變得更少。

實用高於完美

儘量遵循HTML標準和語義,但是不應該以浪費實用性作為代價;

任何時候都要用盡量小的複雜度和儘量少的標籤來解決問題。