前端編碼規范

一、命名技巧

1、語義化

即合適標簽+合適命名

(1)語義化標簽優先

(2)基于功能命名、內容命名、表現命名

(3)簡略、明了、無后患

tips:可自己改名字、翻譯成英文單詞

2、范例

(1)

<!-- 不好  -->
<div class="article">
  <div class="article_title">編碼規范</div>
  <div class="the_content">今天講的內容是編碼規范,講師
     <div class="darkbold">若愚</div> @饑人谷</div>
</div>

<!-- 好 -->
<article>
  <h1>編碼規范</h1>
  <p>今天講的內容是編碼規范,講師
     <b>若愚</b> @饑人谷</p>
</article>

(2)

<!-- 不好  -->
<div class="left"></div>
<div class="red"></div>
<div class="s"></div>
<a class="link" href="#"></a>

<!-- 好 -->
<div class="success"></div>
<div class="theme-color"></div>
<a class="login" href="#"></a>

(3)

<!-- 好 -->
<article class="movies">...</article>
<article class="news">...</article>

<!-- 不好 -->
<article class="blue">...</article>
<article class="redBg mt30 bigText">...</article>

3、命名范例

(1).所有命名都使用英文小寫
推薦:`<div class="main"></div> `
不推薦: `<div class="Main"></div> `
(2).命名用引號包裹
推薦:`<div id="header"></div> `
不推薦: `<div id=header></div> `
(3).用中橫線連接
推薦:`<div class="mod-modal"></div> `
不推薦: `<div class="modModal"></div> `
(4).命名體現功能,不涉及表現樣式(顏色、字體、邊框、背景等
推薦:`<div class="text-lesser"></div>`
不推薦: `<div class="light-grey"></div>`

4、常見命名
第一種:

  • .wrap.wrapper-- 用于外側包裹
  • .container.ct -- 包裹容器
  • .header -- 用于頭部
  • .body -- 頁面 body
  • .footer -- 頁面尾部
  • asidesidebar -- 用于側邊欄
  • .content -- 和header footer對應,用于主要內容
  • .navigation -- 導航元素
  • .pagination -- 分頁
    第二種:
  • .tabs >.tab -- tab 切換
  • .breadcrumbs -- 導航列表、面包屑
  • .dropdown -- 下拉菜單
  • .article -- 文章
  • .main -- 用于主體
  • .thumbnail -- 頭像,小圖像
  • .media -- 媒體資源
  • .panel -- 面板
  • .tooltip -- 鼠標放置上去的提示
  • .popup -- 鼠標點擊彈出的提示
    第三種:
  • .button.btn -- 按鈕
  • .ad -- 廣告
  • .subnav-- 二級導航
  • .menu -- 菜單
  • .tag -- 標簽
  • .message或者.notice -- 提示消息
  • .summary -- 摘要
  • .logo -- logo
  • .search -- 搜索框
  • .login -- 登錄
    第四種:
  • .register -- 注冊
  • .username -- 用戶名
  • .password -- 密碼
  • .banner -- 廣告條
  • `.copyright -- 版權
  • .modal或者.dialog-- 彈窗
    第五種:
var 名字 = {
  狀態: [
    'inverse',
    'toggled',
    'switched',
    'original',
    'initial',
    'identified',
    'disabled',
    'loading',
    'pending',
    'syncing',
    'default'
  ],
  修飾: [
    'dark',
    'light',
    'shaded',
    'flat',
    'ghost',
    'maroon',
    'pale',
    'intense',
    'twisted',
    'narrow',
    'wide',
    'smooth',
    'separate',
    'clean',
    'sharp',
    'aligned'
  ],
  元素: [
    'pagination',
    'modal',
    'popup',
    'article',
    'story',
    'flash',
    'status',
    'state',
    'media',
    'block',
    'card',
    'teaser',
    'badge',
    'label',
    'sheet',
    'poster',
    'notice',
    'record',
    'entry',
    'item',
    'figure',
    'square',
    'module',
    'bar',
    'button',
    'action',
    'knob'
  ],
  布局: [
    'navigation',
    'wrapper',
    'inner',
    'header',
    'footer',
    'aside',
    'section',
    'divider',
    'content',
    'container',
    'panel',
    'pane',
    'construct',
    'composition',
    'spacing',
    'frame'
  ]
}

二、CSS編碼規范

1、書寫規范

  • tab 用兩個空格表示
  • css的 :后加個空格,{前加個空格
  • 每條聲明后都加上分號
  • 換行,而不是放到一行
  • 顏色用小寫,用縮寫, #fff
  • 小數不用寫前綴, 0.5s -> .5s;0不用加單位
  • 盡量縮寫,margin: 5px 10px 5px 10px ->margin: 5px 10px

2、范例——google編碼規范

/* Not recommended */
.test {
  display: block;
  height: 100px
}
/* Recommended */
.test {
  display: block;
  height: 100px;
}


/* Not recommended */
h3 {
  font-weight:bold;
}
/* Recommended */
h3 {
  font-weight: bold;
}


/* Not recommended: missing space */
#video{
  margin-top: 1em;
}

/* Not recommended: unnecessary line break */
#video
{
  margin-top: 1em;
}
/* Recommended */
#video {
  margin-top: 1em;
}


/* Not recommended */
a:focus, a:active {
  position: relative; top: 1px;
}
/* Recommended */
h1,
h2,
h3 {
  font-weight: normal;
  line-height: 1.2;
}


/* Always put a blank line (two line breaks) between rules. */
html {
  background: #fff;
}

body {
  margin: auto;
  width: 50%;
}


/* Not recommended */
@import url("http://www.google.com/css/maia.css");

html {
  font-family: "open sans", arial, sans-serif;
}
/* Recommended */
@import url(//www.google.com/css/maia.css);

html {
  font-family: 'open sans', arial, sans-serif;
}

三、參考

  • google html css編碼規范

google html css編碼規范

  • bootstrap編碼規范

bootstrap編碼規范

其中,對新手前端寫代碼較重要的因素:聲明順序。相關的屬性聲明應當歸為一組,并按照下面的順序排列:

Positioning(定位)

Box model(盒模型)

Typographic(與文字相關,字體大小寬高居中)

Visual(顏色相關)

由于定位(positioning)可以從正常的文檔流中移除元素,并且還能覆蓋盒模型(box model)相關的樣式,因此排在首位。盒模型排在第二位,因為它決定了組件的尺寸和位置。

其他屬性只是影響組件的內部(inside)或者是不影響前兩組屬性,因此排在后面。

  • 命名這貨真難

命名這貨真難

總結:鏈接里的文章強烈建議通看一遍

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內容

  • 基本原則 結構、樣式、行為分離 統一縮進(建議 兩個空格) 文件編碼統一 不帶BOM的UTF-8 一律使用小寫字母...
    KeKeMars閱讀 3,109評論 12 144
  • 很久沒有更新文章了。。。實在是比較忙啊。。。從本身一個iOS開發,現在要兼顧前端、產品、維護等,每天都有不同的事,...
    Ke_Wang閱讀 1,480評論 2 10
  • "字是門面書是屋",我們不會去手寫代碼,但是敲出來的代碼要好看、有條理,這還必須得有一點約束~ 團隊開發中,每個人...
    郝特么冷閱讀 268評論 0 1
  • 小魚漂亮而又安靜,山東姑娘,兼有山東妹子的豪爽與女性的溫婉,很迷人。她既大膽又怯弱,既天真又務實,有兩種截然相反的...
    李小喵02閱讀 648評論 1 2
  • 這是臨摹飛樂鳥的彩鉛畫的,學著一步步畫下來,對于零基礎的我來說就這樣吧,畫畫也只是愛好,不求像大神那般,只為自己畫...
    沐小錦閱讀 285評論 0 0