莫閒前端之路學習markdown使用,html和css的編寫順序以及class命名規範

html屬性順序

class
id
data-*,name
src, for, type, href
title, alt
aria-*, role
/*a標籤*/
<a class="..." id="..." data-modal="toggle" href="#" title='...' style="...">
  Example link
</a>

/*input標籤*/
<input class="..." id="..." data-modal="toggle" type="text" name="..." value="..." />

/*img標籤 img必須加上alt*/
<img class="..." id="..." src="..." title="..." alt="...' />

html

css命名

class命名規範:

  • class 名稱中只能出現小寫字符和破折號"-";css

  • class 使用有意義的名稱,使用有組織的或目的明確的名稱;html

  • class 名稱應當儘量短,而且意義明確,避免過分任意的簡寫。.btn 表明 button,可是 .s 不能表達任何意思;less

BEM命名方法:

/* 塊--表明更高級別的抽象或組件 */
.block

/* 元素--表明.block的後代 */
.block_element

/* 修飾符--表明.block的不一樣狀態或不一樣版本 */
.block--modifier

/* 例如 */
.media{}
.media_img{}
.media_img--rev{}
.media_body{}
<div class="media">
  <img src="logo.png" alt="Foo Corp logo" class="media_img--rev">
  <div class="media_body">
    <h3 class="alpha">Welcome to Foo Corp</h3>
    <p class="lede">Foo Corp is the best, seriously!</p>
  </div>
</div>
/*.media是一個塊,.media_img--rev是一個加了修飾符的.media_img的變體,它是屬於.media的元素。而.media_body是一個還沒有被改變過的也是屬於.media的元素。*/

html

經常使用命名:

/* --base 基本-- */
.header                 /* --頭部-- */
.logo                   /* --logo-- */
.footer                 /* --底部-- */
.nav                    /* --導航-- */
.top-nav                /* --頂部導航連接-- */
.main                   /* --主體內容-- */
.container              /* --內容居中-- */

--current               /* --默認狀態-- */
-title                  /* --標題-- */
-item                   /* --列表-- */
-con                    /* --內容-- */
icon-                   /* --圖標- */

/* --側邊欄-- */
.aside
.aside-nav              /* --側邊欄導航-- */
.aside-nav_item         /* --側邊欄分類-- */
.aside-nav--current     /* --側邊欄當前狀態-- */

/* --盒子-- */
.box
.box-title              /* --盒子標題-- */
.box-title_txt          /* --盒子標題文字-- */
.box-con                /* --盒子內容-- */

css編碼規範

.selector{
  /*顯示相關*/
  display
  float
  clear
  cursor
  content

  /*定位等*/
  position
  top
  left
  z-index

  /*盒模型*/
  margin
  padding
  width
  height
  border
  border-radius

  /*排版文字等*/
  color
  font
  vertical-align
  line-height
  white-space
  text-decoration
  text-align

  /*背景*/
  background
  opacity
}

如:
.selector {
  display: block;
  float: right;

  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;

  width: 100px;
  height: 100px;
  border: 1px solid #e5e5e5;
  border-radius: 3px;

  font: normal 13px "Helvetica Neue", sans-serif;
  line-height: 1.5;
  color: #333;
  text-align: center;

  background-color: #f5f5f5;
}

css

less規範

/* less嵌套不超過三層 */
.aside-nav{
  margin-bottom: 10px;
  margin-top: 0;

  dt {
    cursor: pointer;
    background: #fff;

    a {
      text-decoration: none;
      color: @cDark;
    }
  }

  dd {
    display: none;
    height: 30px;
    padding-left: 20px;
    line-height: 30px;
  }
}

less

less文件命規範

index.less                  /* --首頁樣式-- */
header.less                 /* --頭部樣式-- */
footer.less                 /* --底部樣式-- */
bass.less                   /* --基本樣式-- */
box.less                    /* --盒子樣式-- */
table.less                  /* --表格樣式-- */
buttom.less                 /* --按鈕樣式-- */
icon.less                   /* --圖標樣式-- */
iconfont.less               /* --圖標字體樣式-- */
variable.less               /* --less變量樣式-- */
forms.less                  /* --表單樣式-- */
aside.less                  /* --側邊樣式-- */
normalize.less              /* --重置樣式-- */
paginator.less              /* --分頁樣式-- */
login.less                  /* --登陸樣式-- */
reg.less                    /* --註冊樣式-- */

ul***.less                  /* --以ui開頭是插件樣式-- */

特別注意

  • html和css/less都用兩個空格代替製表符(tab)進行縮進ide

  • 以組件爲單位組織代碼段字體

  • 制定一致的註釋規範ui

  • 使用一致的空白符將代碼分隔成塊編碼

  • 爲選擇器分組時,將單獨的選擇器單獨放在一行url

  • 聲明塊的右花括號應當單獨成行spa

  • 每條聲明都應該獨佔一行,全部聲明語句都應當以分號結尾插件

  • 儘可能使用簡寫形式的十六進制,十六進制值應該所有小寫,例如,#fff

  • 避免爲 0 值指定單位,例如,用 margin: 0; 代替 margin: 0px;

/* selector */
.selector,
.selector-secondary,
.selector[type="text"] {
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0px 1px 2px #ccc;
  background-color: rgba(0,0,0,.5);
}

/* Single declarations on one line */
.span1 { width: 60px; }
.span2 { width: 140px; }
.span3 { width: 220px; }

/* Multiple declarations, one per line */
.sprite {
  display: inline-block;
  width: 16px;
  height: 15px;
  background-image: url(../img/sprite.png);
}

css
相關文章
相關標籤/搜索