1. 命名技巧
- 語義化
- 語義化標簽優(yōu)先
- 基于功能命名萧吠、基于內(nèi)容命名、基于表現(xiàn)命名
從前到后依次優(yōu)先
- 簡略歌豺、明了桅滋、無后患
tips:
- 大聲叫出它的名字
- 翻譯成英文
范例:
<div class="article">
<div class="article_title">編碼規(guī)范</div>
<div class="the_content">今天講的內(nèi)容是編碼規(guī)范,講師
<div class="darkbold">若愚</div> @饑人谷</div>
</div>
<article>
<h1>編碼規(guī)范</h1>
<p>今天講的內(nèi)容是編碼規(guī)范既绩,講師
<b>若愚</b> @饑人谷</p>
</article>
---
>```
<!-- 不好 -->
<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>
<article class="blue">...</article>
<article class="redBg mt30 bigText">...</article>
<article class="movies">...</article>
<article class="news">...</article>
####命名范例
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. 命名體現(xiàn)功能概龄,不涉及表現(xiàn)樣式(顏色、字體饲握、邊框旁钧、背景等)
>推薦:`<div class="text-lesser"></div>`
不推薦: `<div class="light-grey"></div>`
#2. 常見命名
#####(參考,根據(jù)自己習慣)
>- .wrap或.wrapper -- 用于外側(cè)包裹
- .container或 .ct -- 包裹容器
- .header -- 用于頭部
- .body -- 頁面 body
- .footer -- 頁面尾部
- aside、sidebar -- 用于側(cè)邊欄
- .content -- 和header footer 對應(yīng)互拾,用于主要內(nèi)容
- .navigation -- 導(dǎo)航元素
- .pagination -- 分頁
- .tabs > .tab -- tab 切換
- .breadcrumbs -- 導(dǎo)航列表歪今、面包屑
- .dropdown -- 下拉菜單
- .article -- 文章
- .main -- 用于主體
- .thumbnail -- 頭像,小圖像
- .media -- 媒體資源
- .panel -- 面板
- .tooltip -- 鼠標放置上去的提示
- .popup -- 鼠標點擊彈出的提示
.button颜矿、.btn -- 按鈕
- .ad -- 廣告
- .subnav -- 二級導(dǎo)航
- .menu -- 菜單
- .tag -- 標簽
- .message或者.notice -- 提示消息
- .summary -- 摘要
- .logo -- logo
- .search -- 搜索框
- .login -- 登錄
- .register -- 注冊
- .username -- 用戶名
- .password -- 密碼
- .banner -- 廣告條
- .copyright -- 版權(quán)
- .modal或者 .dialog -- 彈窗
###其他常見命名
var 名字 = {
狀態(tài): [
'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'
]
}
#2. CSS規(guī)范
###- 書寫規(guī)范
- tab 用兩個空格表示
- css的 :后加個空格寄猩, {前加個空格
- 每條聲明后都加上分號
- 換行,而不是放到一行
- 顏色用小寫骑疆,用縮寫, #fff
- 小數(shù)不用寫前綴, 0.5s -> .5s田篇;0不用加單位
- 盡量縮寫, margin: 5px 10px 5px 10px -> margin: 5px 10px
#####范例
/* 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("//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編碼規(guī)范](https://google.github.io/styleguide/htmlcssguide.xml)
- [bootstrap 編碼規(guī)范](http://codeguide.bootcss.com/)
- [an article](https://seesparkbox.com/foundry/naming_css_stuff_is_really_hard)