學好WEB前端之HTML 規範
摘要
優秀的專案原始碼,即使是多人開發,看程式碼也如出一人之手。統一的編碼規範,可使程式碼更易於閱讀,易於理解,易於維護
HTML 規範
縮排
統一兩個空格縮排
命名規範
- class 應以功能或內容命名,不以表現形式命名;
- class 與 id 單詞字母小寫,多個單片語成時,採用中劃線-分隔;
- 使用唯一的 id 作為 Javascript hook, 同時避免建立無樣式資訊的 class;
DOCTYPE 宣告
HTML 檔案必須加上 DOCTYPE 宣告,並統一使用 HTML5 的文件宣告:
<!DOCTYPE html>
meta 標籤
- 統一使用 “UTF-8” 編碼
<meta charset="utf-8">
- SEO 優化
<!-- 頁面關鍵詞 --> <meta name ="keywords" content =""/> <!-- 頁面描述 --> <meta name ="description" content =""> <!-- 網頁作者 --> <meta name ="author" content ="">
- 優先使用 IE 最新版本和 Chrome
<meta http-equiv ="X-UA-Compatible" content ="IE = edge,chrome = 1">
- 為移動裝置新增視口
<!-- device-width 是指這個裝置最理想的 viewport 寬度 --> <!-- initial-scale=1.0 是指初始化的時候縮放大小是1,也就是不縮放 --> <!-- user-scalable=0 是指禁止使用者進行縮放 --> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
- 禁止自動識別頁面中有可能是電話格式的數字
<meta name="format-detection" content="telephone=no">
團隊約定:
pc 端:
<meta charset="utf-8"> <meta name="keywords" content="your keywords"> <meta name="description" content="your description"> <meta name="author" content="author,email address"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
移動端:
<meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta name="format-detection" content="telephone=no">
標籤
html 標籤分為以下幾類:
- 自閉合標籤(self-closing),無需閉合。例如:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr 等 )
- 閉合標籤(closing tag),需閉合 。例如:textarea、title、h、div、span 等
團隊約定:
- 所有具有開始標籤和結束標籤的元素都必須要寫上起止標籤,某些允許省略開始標籤或和束標籤的元素亦都要寫上
- 自閉合標籤不要加上結束標籤
-
自定義標籤的名字必須包含一個破折號(-),
<x-tags>
、<my-element>
和<my-awesome-app>
都是正確的名字,而<tabs>
和<foo_bar>
是不正確的。這樣的限制使得 HTML 解析器可以分辨那些是標準元素,哪些是自定義元素 - 自定義標籤必須寫上開始標籤和閉合標籤
- 儘量減少標籤數量
元素屬性
- 元素屬性值使用雙引號語法
推薦:web前端開發直播教程Q-q-u-n: 767273102 ,內有免費開發工具,零基礎,進階視訊教程,希望新手少走彎路
<input type="text"> 複製程式碼
不推薦:
<input type=text> <input type='text'>
程式碼巢狀
- 塊元素可以包含內聯元素或某些塊元素,但內聯元素卻不能包含塊元素,它只能包含其它的內聯元素
- 標題和段落中不能包含塊,如:h1、h2、h3、h4、h5、h6、p、dt
- 塊與內聯不能並列,塊級元素與塊級元素並列、內嵌元素與內嵌元素並列
- 有些標籤是固定的巢狀規則,比如 ul 包含 li、ol 包含 li、dl 包含 dt 和 dd 等等。
靈活使用偽類
不要讓非內容資訊汙染了你的 HTML,打亂了 HTML 結構。可以使用:before、:after 等偽類元素
推薦:
HTML 程式碼
<!-- That is clean markup! --> <span class="text-box"> See the square next to me? </span>
CSS 程式碼:
/* We use a :before pseudo element to solve the design problem of placing a colored square in front of the text content */ .text-box:before { content: ''; display: inline-block; width: 1rem; height: 1rem; background-color: red; }
不推薦:
HTML 程式碼:
<!-- We should not introduce an additional element just to solve a design problem --> <span class="text-box"> <span class="square"></span> See the square next to me? </span>
CSS 程式碼:
.text-box > .square { display: inline-block; width: 1rem; height: 1rem; background-color: red; }
特殊符號必須使用轉義符
符號 | 描述 | 轉義符 |
---|---|---|
|
空格 |
|
< | 小於 |
<
|
> | 大於 |
>
|
& | 和 |
&
|
" | 引號 |
"
|
純數字輸入框
使用 type="tel" 而不是 type="number"
<input type="tel">
型別屬性
不需要為 CSS、JS 指定型別屬性,HTML5 中預設已包含。
推薦:
<link rel="stylesheet" href="" > <script src=""></script>
不推薦:
<link rel="stylesheet" type="text/css" href="" > <script type="text/javascript" src="" ></script>
註釋規範
單行註釋
- 一般用於簡單的描述,如某些狀態描述、屬性描述等
- 註釋內容前後各一個空格字元,註釋位於要註釋程式碼的上面,單獨佔一行
推薦:web前端開發直播教程Q-q-u-n: 767273102 ,內有免費開發工具,零基礎,進階視訊教程,希望新手少走彎路
<!-- Comment Text --> <div>...</div>
不推薦:
<div>...</div><!-- Comment Text --> <div><!-- Comment Text --> ... </div>
模組註釋
- 註釋內容前後各一個空格字元
- ``表示模組開始
- ``表示模組結束,模組與模組之間相隔一行
- 模組註釋內部巢狀模組註釋,``
推薦:
<!-- S Comment Text A --> <div class="mod_a"> <div class="mod_b"> ... </div> <!-- /mod_b --> <div class="mod_c"> ... </div> <!-- /mod_c --> </div> <!-- E Comment Text A --> <!-- S Comment Text D --> <div class="mod_d"> ... </div> <!-- E Comment Text D -->
語義化
- 沒有 CSS 的 HTML 是一個語義系統而不是 UI 系統
- 通常情況下,每個標籤都是有語義的
- 語義化的 HTML 結構,有助於機器(搜尋引擎)理解,另一方面多人協作時,能迅速瞭解開發者意圖
- 建議頁面中多使用語義化標籤,而不是整個頁面以 div 構成
常見標籤語義:
標籤 | 語義 |
---|---|
<p>
|
段落 |
<hn>
|
標題(h1~h6) |
<ul>
|
無序列表 |
<ol>
|
有序列表 |
<nav>
|
標記導航,僅對文件中重要的連結群使用 |
<main>
|
頁面主要內容,一個頁面只能使用一次。如果是 web 應用,則包圍其主要功能 |
<article>
|
定義外部的內容,其中的內容獨立於文件的其餘部分 |
<section>
|
定義文件中的節(section、區段)。比如章節、頁首、頁尾或文件中的其他部分。 |
<aside>
|
定義其所處內容之外的內容。如側欄、文章的一組連結、廣告、友情連結、相關產品列表 |
<header>
|
頁首通常包括網站標誌、主導航、全站連結以及搜尋框 |
<footer>
|
頁尾,只有當父級是 body 時,才是整個頁面的頁尾 |
<figure>
|
規定獨立的流內容(影象、圖表、照片、程式碼等等)(預設有 40px 左右 margin) |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2649127/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學好WEB前端之CSS規範Web前端CSS
- 學好WEB前端之javascript規範Web前端JavaScript
- 學好WEB前端之媒體檔案規範Web前端
- 前端規範之HTML 規範前端HTML
- web前端規範Web前端
- 前端規範之javascript規範前端JavaScript
- 前端規範之CSS規範前端CSS
- 前端規範之nodeJs 規範前端NodeJS
- 前端規範之CSS規範(Stylelint)前端CSS
- WEB前端編碼規範Web前端
- web前端開發規範Web前端
- 前端規範之vue 專案規範前端Vue
- 前端規範之Git提交規範(Commitizen)前端GitMIT
- 前端工程程式碼規範(二)——HTML前端HTML
- 好程式設計師分享Web前端知識之HTML程式設計師Web前端HTML
- 前端規範之媒體檔案規範前端
- web前端開發規範總結Web前端
- Web前端開發規範手冊Web前端
- web前端介面切圖命名規範方法Web前端
- Web前端好學嗎?學完之後能幹什麼?Web前端
- HTML編寫規範HTML
- html編碼規範HTML
- 前端規範之Git工作流規範(Husky + Comminilint + Lint-staged)前端Git
- 好程式設計師web前端分享應該怎樣學好web前端?程式設計師Web前端
- 好程式設計師HTML5大前端分享學Web前端開發有哪些要求程式設計師HTML前端Web
- 好程式設計師web前端培訓分享HTMLCSS之HTML表單標籤程式設計師Web前端HTMLCSS
- 『前端規範化』CSS命名規範化前端CSS
- 前端規範與思考(二)———css規範前端CSS
- 前端規範目的前端
- 前端分支規範前端
- 好程式設計師web前端分享HTML基礎篇程式設計師Web前端HTML
- 好程式設計師web前端分享HTML 字符集程式設計師Web前端HTML
- 前端基礎學習1 | Web、Html、CSS前端WebHTMLCSS
- web前端開發編碼規範及效能優化Web前端優化
- 學好Web前端開發,必要了解的HTML+CSS的技巧有哪些Web前端HTMLCSS
- 怎樣學好web前端開發Web前端
- 前端學習之HTML-1前端HTML
- (轉)豆瓣網前端開發規範之 【CSS】前端CSS