2019-7-18 seo達人
如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里
摘要
優(yōu)秀的項目源碼,即使是多人開發(fā),看代碼也如出一人之手。統(tǒng)一的編碼規(guī)范,可使代碼更易于閱讀,易于理解,易于維護
HTML 規(guī)范
縮進
統(tǒng)一兩個空格縮進
命名規(guī)范
class 應(yīng)以功能或內(nèi)容命名,不以表現(xiàn)形式命名;
class 與 id 單詞字母小寫,多個單詞組成時,采用中劃線-分隔;
使用唯一的 id 作為 Javascript hook, 同時避免創(chuàng)建無樣式信息的 class;
DOCTYPE 聲明
HTML 文件必須加上 DOCTYPE 聲明,并統(tǒng)一使用 HTML5 的文檔聲明:
<!DOCTYPE html>
meta 標簽
統(tǒng)一使用 “UTF-8” 編碼
<meta charset="utf-8">
SEO 優(yōu)化
<!-- 頁面關(guān)鍵詞 -->
<meta name ="keywords" content =""/>
<!-- 頁面描述 -->
<meta name ="description" content ="">
<!-- 網(wǎng)頁作者 -->
<meta name ="author" content ="">
優(yōu)先使用 IE 版本和 Chrome
<meta http-equiv ="X-UA-Compatible" content ="IE = edge,chrome = 1">
為移動設(shè)備添加視口
<!-- device-width 是指這個設(shè)備最理想的 viewport 寬度 -->
<!-- initial-scale=1.0 是指初始化的時候縮放大小是1,也就是不縮放 -->
<!-- user-scalable=0 是指禁止用戶進行縮放 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
禁止自動識別頁面中有可能是電話格式的數(shù)字
<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">
web前端開發(fā)資源Q-q-u-n: 767273102 ,內(nèi)有免費開發(fā)工具,零基礎(chǔ),進階視頻教程,希望新手少走彎路
移動端:
<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 等
團隊約定:
所有具有開始標簽和結(jié)束標簽的元素都必須要寫上起止標簽,某些允許省略開始標簽或和束標簽的元素亦都要寫上
自閉合標簽不要加上結(jié)束標簽
自定義標簽的名字必須包含一個破折號(-),<x-tags>、<my-element>和<my-awesome-app>都是正確的名字,而<tabs>和<foo_bar>是不正確的。這樣的限制使得 HTML 解析器可以分辨那些是標準元素,哪些是自定義元素
自定義標簽必須寫上開始標簽和閉合標簽
盡量減少標簽數(shù)量
元素屬性
元素屬性值使用雙引號語法
推薦:
<input type="text">
不推薦:
<input type=text>
<input type='text'>
代碼嵌套
塊元素可以包含內(nèi)聯(lián)元素或某些塊元素,但內(nèi)聯(lián)元素卻不能包含塊元素,它只能包含其它的內(nèi)聯(lián)元素
標題和段落中不能包含塊,如:h1、h2、h3、h4、h5、h6、p、dt
塊與內(nèi)聯(lián)不能并列,塊級元素與塊級元素并列、內(nèi)嵌元素與內(nèi)嵌元素并列
有些標簽是固定的嵌套規(guī)則,比如 ul 包含 li、ol 包含 li、dl 包含 dt 和 dd 等等。
靈活使用偽類
不要讓非內(nèi)容信息污染了你的 HTML,打亂了 HTML 結(jié)構(gòu)??梢允褂?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;
}
1
不推薦:
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;
}
web前端開發(fā)資源Q-q-u-n: 767273102 ,內(nèi)有免費開發(fā)工具,零基礎(chǔ),進階視頻教程,希望新手少走彎路
特殊符號必須使用轉(zhuǎn)義符
符號 描述 轉(zhuǎn)義符
空格
< 小于 <
> 大于 >
& 和 &
" 引號 "
純數(shù)字輸入框
使用 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>
注釋規(guī)范
單行注釋
一般用于簡單的描述,如某些狀態(tài)描述、屬性描述等
注釋內(nèi)容前后各一個空格字符,注釋位于要注釋代碼的上面,單獨占一行
推薦:
<!-- Comment Text -->
<div>...</div>
不推薦:
<div>...</div><!-- Comment Text -->
<div><!-- Comment Text -->
...
</div>
6
模塊注釋
注釋內(nèi)容前后各一個空格字符
<!-- S Comment Text -->表示模塊開始
<!-- E Comment Text -->表示模塊結(jié)束,模塊與模塊之間相隔一行
模塊注釋內(nèi)部嵌套模塊注釋,<!-- /Comment Text -->
推薦:
<!-- 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 -->
web前端開發(fā)資源Q-q-u-n: 767273102 ,內(nèi)有免費開發(fā)工具,零基礎(chǔ),進階視頻教程,希望新手少走彎路
22
語義化
沒有 CSS 的 HTML 是一個語義系統(tǒng)而不是 UI 系統(tǒng)
通常情況下,每個標簽都是有語義的
語義化的 HTML 結(jié)構(gòu),有助于機器(搜索引擎)理解,另一方面多人協(xié)作時,能迅速了解開發(fā)者意圖
建議頁面中多使用語義化標簽,而不是整個頁面以 div 構(gòu)成
常見標簽語義:
標簽 語義
<p> 段落
<hn> 標題(h1~h6)
<ul> 無序列表
<ol> 有序列表
<nav> 標記導(dǎo)航,僅對文檔中重要的鏈接群使用
<main> 頁面主要內(nèi)容,一個頁面只能使用一次。如果是 web 應(yīng)用,則包圍其主要功能
<article> 定義外部的內(nèi)容,其中的內(nèi)容獨立于文檔的其余部分
<section> 定義文檔中的節(jié)(section、區(qū)段)。比如章節(jié)、頁眉、頁腳或文檔中的其他部分。
<aside> 定義其所處內(nèi)容之外的內(nèi)容。如側(cè)欄、文章的一組鏈接、廣告、友情鏈接、相關(guān)產(chǎn)品列表
<header> 頁眉通常包括網(wǎng)站標志、主導(dǎo)航、全站鏈接以及搜索框
<footer> 頁腳,只有當父級是 body 時,才是整個頁面的頁腳
<figure> 規(guī)定獨立的流內(nèi)容(圖像、圖表、照片、代碼等等)(默認有 40px 左右 margin)
藍藍設(shè)計( www.teruid.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)。
藍藍設(shè)計的小編 http://www.teruid.com