前端知識整理


前端知識整理
css

代碼千萬行,安全第一行;前端不規範,運營兩行淚html

*HTML前端

 

HTML 語義化

HTML 語義化是指僅僅從 HTML 元素上就能看出頁面的大體結構,好比須要強調的內容能夠放在 <strong> 標籤中,而不是經過樣式設置 <span> 標籤去作。不一樣瀏覽器對 HTML 元素的解析可能有差別,HTML 語義化即是在拋開樣式以後,頁面能有一個友好的展現效果。咱們力求讓頁面有良好的結構,讓頁面的元素有含義,同時利於被搜索引擎解析,利於 SEO。HTML 語義化的建議:
  • 少使用無心義的 <div>、<span> 標籤;
  • 在 <label> 標籤中設置 for 屬性和對應的 <input> 關聯起來;
  • 設置 <img> 標籤的 alt 屬性,給 <a> 標籤設置 title 屬性,利於 SEO;
  • 在頁面的標題部分使用 <h1>~<h6> 標籤,不須要給它們加多餘的樣式;
  • 與表單、有序列表、無序列表相關的標籤不要單獨使用。
 
HTML5 也新增了一些語義化的元素,咱們經過標籤名就能判斷標籤內容。使用語義元素的頁面大體結構以下:


較長的的HTML文件,請在板塊之間加入註釋,使得結構更清晰

 

*CSScss3

 

css中的塊級元素與行級元素

 

最近初學CSS時對塊級元素與行級元素有時會產生混淆,寫篇博客記錄一下本身對其的理解。

先從概念上來看:web

塊級元素chrome

特色:1.每一個塊級元素都是獨自佔一行,其後的元素也只能另起一行,並不能兩個元素共用一行。瀏覽器

   2.元素的高度、寬度、行高和頂底邊距都是能夠設置的。  安全

   3.元素的寬度若是不設置的話,默認爲父元素的寬度。架構

常見的塊級元素:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>app

行級元素

特色:1.能夠和其餘元素處於一行,不用必須另起一行。

   2.元素的高度、寬度及頂部和底部邊距不可設置。

   3.元素的寬度就是它包含的文字、圖片的寬度,不可改變。

常見的塊級元素:heda   meat   title  lable  span  br  a   style  em  b  i   strong

行內塊元素常見的有: img  input  td 

行級元素與塊級元素的轉換

若是想將塊級元素與行級元素相互轉換,該怎麼辦呢?

   能夠在css樣式中用display:inline將塊級元素設爲行級元素

   一樣,也能夠用display:block將行級元素設爲塊級元素

行級-塊級元素

若是又想設置高度、寬度、行高以及頂和底邊距,又想元素處於一行,該怎麼辦呢?

此時就能夠用display:inline-block將元素設置爲行級-塊級元素。(IE8不支持)

 

 

flex佈局

在傳統的方式中,咱們一般會設置盒模型的 display、position、float 等屬性來進行佈局,對於一些特殊佈局運用起來不是很方便,好比垂直居中水平居中,若是運用了浮動特性的話,就須要清除浮動,不但比較麻煩,一不當心還會出現意料以外的佈局,最後呈現的結果每每不盡人意。
 
Flexbox(全稱 Flexible Box)佈局,也叫 Flex 佈局,意爲「彈性佈局」,顧名思義,Flex 佈局中的元素具備可伸縮性,是的,經過設置父元素的 display 屬性爲 display: flex | inline-flex; 其子元素便有了伸縮性,即便在子元素的寬高不肯定的狀況下,也能經過設置相關 css 屬性來決定子元素的對齊方式、所佔比例和空間分佈。
 
目前的瀏覽器支持程度: IE10+,chrome21+,opera12.1+,Firefox22+,safari6.1+等;
如上瀏覽器的支持程度,咱們能夠把此元素使用在移動端很方便。

flex的彈性佈局有以下優點:
  1.獨立的高度控制與對齊。
  2.獨立的元素順序。
  3.指定元素之間的關係。
  4.靈活的尺寸與對齊方式。

一些概念

在開始學習Flex 佈局前,咱們先來熟悉下有關 Flex 佈局的幾個概念,這些概念能夠幫助對後文的理解。

 

 

上圖即是一個 Flex 佈局的大體架構了,圖中的囊括概念有幾點:
  • Flex 佈局是一整個模塊,其中父元素稱爲 flex container,意爲容器;子元素稱爲 flex item,意爲項目;
  • Flex 佈局中有兩條看不見的軸線:主軸(main axis)和交叉軸(cross axis)。默認的主軸是平行的,交叉軸是垂直於主軸的;
  • 主軸的開始位置叫 main start,結束位置叫 main end;交叉軸的開始位置叫 cross start,結束位置叫 cross end;
  • 子元素在主軸方向上的大小稱爲 main size,在交叉軸方向上的大小稱爲 cross size。
 
在上面的相關概念中,比較重要的是主軸、交叉軸,和它們的開始位置、結束位置。子元素在父元素中會沿着主軸從 main start 到 main end 排列,沿着交叉軸從 cross start 到 cross end 排列。在常規的佈局中,瀏覽器是從左到右排列,擠不下了就換行,在這種狀況下,主軸是水平方向,交叉軸是垂直方向,主軸是從左到右,交叉軸是從上到下。
 
在 Flex 佈局中,默認的主軸方向也是水平的,交叉軸是垂直的,經過改變 flex-directionflex-wrap 的屬性值能夠分別改變兩個軸的方向和它們的開始位置、起始位置,這就讓佈局更加靈活多變了。
 
瞭解完 Flex 佈局相關的抽象概念,接下來咱們來看看有關 Flex 佈局的屬性部分,這裏分爲兩部分介紹,一是做用於父元素(容器)的,二是做用於子元素(項目)的。

容器屬性

display 屬性用來將父元素定義爲 Flex 佈局的容器,設置 display 值爲 display: flex; 容器對外表現爲塊級元素;display: inline-flex; 容器對外表現爲行內元素,對內二者表現是同樣的。

<div class="container"></div>
.container {
    display: flex | inline-flex;
}
上面的代碼就定義了一個 Flex 佈局的容器,咱們有如下六個屬性能夠設置的容器上:
  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

flex-direction

flex-direction 定義了主軸的方向,即項目的排列方向。

<div class="container">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
</div>
.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
  • row(默認值):主軸在水平方向,起點在左側,也就是咱們常見的從左到右;
  • row-reverse:主軸在水平方向,起點在右側;
  • column:主軸在垂直方向,起點在上沿;
  • column-reverse: 主軸在垂直方向,起點在下沿。

(flex-direction 爲 row)

(flex-direction 爲 row-reverse)

(flex-direction 爲 column)

(flex-direction 爲 column-reverse)

flex-wrap

默認狀況下,項目是排成一行顯示的,flex-wrap 用來定義當一行放不下時,項目如何換行。

.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
假設此時主軸是從左到右的水平方向:
  • nowrap(默認):不換行;
  • wrap:換行,第一行在上面;
  • wrap-reverse:換行,第一行在下面。

(默認狀況,flex-wrap 爲 nowrap,不換行,即便設置了項目的寬度,項目也會根據屏幕的大小被壓縮)

(flex-wrap 爲 wrap)

(flex-wrap 爲 wrap-reverse)

將 flex-wrap 設置爲 wrap-reverse 能夠看作是調換了交叉軸的開始位置(cross start)和結束位置(cross end)。

flex-flow

flex-flow 是 flex-direction 和 flex-wrap 的簡寫,默認值是 row no-wrap。

.container { flex-flow: <flex-direction> || <flex-wrap>; }

justify-content

justify-content 定義了項目在主軸上的對齊方式。

 

.container {
    justify-content: flex-start | flex-end | center | space-between | space-around;
}
  • flex-start(默認):與主軸的起點對齊;
  • flex-end:與主軸的終點對齊;
  • center:項目居中;
  • space-between:兩端對齊,項目之間的距離都相等;
  • space-around:每一個項目的兩側間隔相等,因此項目與項目之間的間隔是項目與邊框之間間隔的兩倍。
 
假設此時主軸是從左到右的水平方向,下面給出了不一樣屬性值的效果圖。
(justify-content 爲 flex-start)
 
(justify-content 爲 flex-end)
 
(justify-content 爲 center) 
 
(justify-content 爲 space-between)
 
(justify-content 爲 space-around)
 

align-items

align-items 定義了項目在交叉軸上如何對齊。

.container {
    align-items: flex-start | flex-end | center | baseline | stretch;
}
  • flex-start:與交叉軸的起點對齊;

  • flex-end:與交叉軸的終點對齊;

  • center:居中對齊;

  • baseline:項目第一行文字的基線對齊;

  • stretch(默認值):若是項目未設置高度或者爲 auto,項目將佔滿整個容器的高度。

 

假設交叉軸是從上到下的垂直方向,下面給出了不一樣屬性值的效果圖。

(align-items 爲 flex-start)

(align-items 爲 flex-end)

(align-items 爲 center)

(align-items 爲 baseline)

(align-items 爲 stretch)

align-content

align-content 定義了多根軸線的對齊方式,若此時主軸在水平方向,交叉軸在垂直方向,align-content 就能夠理解爲多行在垂直方向的對齊方式。項目排列只有一行時,該屬性不起做用。

.container {
    align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
  • flex-start:與交叉軸的起點對齊;

  • flex-end: 與交叉軸的終點對齊;

  • center:居中對齊;

  • space-bteween:與交叉軸兩端對齊,軸線之間的距離相等;

  • space-around:每根軸線兩側的間隔都相等,因此軸線與軸線之間的間隔是軸線與邊框之間間隔的兩倍;

  • stretch(默認值):若是項目未設置高度或者爲 auto,項目將佔滿整個容器的高度。

(align-content 爲 flex-start)

(align-contet 爲 flex-end)

(align-content 爲 center)

(align-content 爲 space-between)

(align-content 爲 space-around)

(align-content 爲 stretch)

項目屬性

對項目設置屬性,能夠更靈活地控制 Flex 佈局。如下六種屬性能夠設置在項目上:

  • order

  • flex-grow

  • flex-shrink

  • flex-basis

  • flex

  • align-self

order

order 定義了項目的排列順序,默認值爲 0,數值越小,排列越靠前。

.item {
    order: <integer>;
}

 

(給第三個項目設置了 order: -1; 後,該項目排到了最前面)

flex-grow

flex-grow 定義了項目的放大比例,默認爲 0,也就是即便存在剩餘空間,也不會放大。

若是全部項目的 flex-grow 都爲 1,則全部項目平分剩餘空間;若是其中某個項目的 flex-grow 爲 2,其他項目的 flex-grow 爲 1,則前者佔據的剩餘空間比其餘項目多一倍。

.item {
    flex-grow: <number>;  
}

 

 

(全部項目的 flex-grow 都爲 1,平分剩餘空間)

(flex-grow 屬性值越大,所佔剩餘空間越大)

flex-shrink

flex-shrink 定義了項目的縮小比例,默認爲 1,即當空間不足時,項目會自動縮小。

若是全部項目的 flex-shrink 都爲 1,當空間不足時,全部項目都將等比縮小;若是其中一個項目的 flex-shrink 爲 0,其他都爲 1,當空間不足時,flex-shrink 爲 0 的不縮小。

負值對該屬性無效。

.item {
    flex-shrink: <number>;
}

 

(空間不足時,默認等比縮小)

(flex-shrink 爲 0 的不縮小)

 

flex-basis

flex-basis 定義了在分配多餘的空間以前,項目佔據的主軸空間,默認值爲 auto,即項目原來的大小。瀏覽器會根據這個屬性來計算主軸是否有多餘的空間。

flex-basis 的設置跟 width 或 height 同樣,能夠是像素,也能夠是百分比。設置了 flex-basis 以後,它的優先級比 width 或 height 高。

 

.item {
    flex-basis: <length> | auto;
}

 

(不一樣的 flex-basis 值效果展現)

flex

flex 屬性是 flex-grow、flex-shrink、flex-basis 的縮寫,默認值是 0 1 auto,後兩個屬性可選。

該屬性有兩個快捷值:auto(1 1 auto)和 none(0 0 auto)。auto 表明在須要的時候能夠拉伸也能夠收縮,none 表示既不能拉伸也不能收縮。

.item {
    flex: auto | none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}

 

align-self

align-self 用來定義單個項目與其餘項目不同的對齊方式,能夠覆蓋 align-items 屬性。默認屬性值是 auto,即繼承父元素的 align-items 屬性值。當沒有父元素時,它的表現等同於 stretch。

align-self 的六個可能屬性值,除了 auto 以外,其餘的表現和 align-items 同樣。

 

.item {
    align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

 

 

 (第三個項目的對齊方式與其餘不一樣)

瀏覽器兼容性及其餘

設置爲 Flex 佈局後,子元素的 float、clear、vertical-align 屬性都將失效。

由於歷史緣由,W3C 對 flex 作了屢次更新,也就致使了各瀏覽器支持度良莠不齊。到目前爲止,Flex 佈局有一下幾種寫法:

display: box;                   /* 2009 version 老語法 */
display: flexbox;               /* 2011 version 過渡語法 */      
display: flex | inline-flex;    /* 2012 version 新語法 */

 

從 Can I Use 上能夠看出目前 Flex 佈局對瀏覽器的支持狀況。從中咱們能夠總結出新語法目前的支持狀況:

  • Chrome 29+

  • Firefox 28+

  • Safari 9+

  • iOS Safari 9+

  • Android 4.4+

  • IE Mobile 11+

更低的版本須要加上前綴進行支持,不一樣版本所在時期不一樣也會致使屬性值不一樣,這裏有一個推薦的兼容性寫法:

.page-wrap {
    display: -webkit-box;      /* 老語法 iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* 老語法 Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* 過渡語法 IE 10 */
    display: -webkit-flex;     /* 新語法 Chrome */
    display: flex;             /* 新語法, Spec - Opera 12.1, Firefox 20+ */
 }

 

CSS 響應式佈局示例

什麼是響應式佈局

在平常生活中,咱們可使用電腦,手機,平板來瀏覽網頁。這些不一樣的媒介的屏幕大小是不同的,那麼咱們如何保證本身設計的網頁在任何大小的屏幕上都能有一個完美的佈局呢,這裏就要用到咱們這一節要講的響應式佈局的知識啦。所謂響應式佈局,就是頁面的佈局可以隨着屏幕大小的變化而變化,從而實如今任何大小的屏幕上都能以最完美的佈局來展現咱們的內容。本文將以示例的形式講解如何利用原生的 CSS 來實現頁面的響應式佈局,知識點都很是基礎但同時也很是重要,適合新手學習。

示例一:響應式圖片

 

(圖片大小隨顯示區域的變化而變化)

 從上圖中咱們能夠看出,圖片在隨着顯示區域的變小而變小,這是怎麼實現的呢,咱們先來看一下相應的 HTML 和 CSS 代碼:

//HTML代碼
<body>
  <img src="http://www.chenxin.art/imgs/xingkong.jpg" alt="drawing" />
</body>

//CSS代碼
  img {
    width: 1200px;
    max-width: 100%;
  }

width: 1200px; 規定了圖片的寬度。這裏咱們只規定了寬度而沒有規定高度是由於,對於 img 標籤而言,若是咱們只規定高度和寬度中的一個的話,沒有規定的那一個會根據圖片自己的比例進行自適應,也就是說能夠保證圖片的比例不變。

max-width: 100% 纔是實現響應式的關鍵。這句代碼的意思是,圖片的最大寬度不能超過 100% 。這個 100% 是相對於其父元素來講的。在本例中, img 標籤的父元素是 body 標籤,因此它的意思實際上是 img 的寬度不能超過 body 的寬度,而body 的寬度實際上就是瀏覽器窗口可見區域的寬度啦。這個時候咱們能夠分兩種狀況來討論: 

  1. 當瀏覽器的寬度大於或等於1200px 時,由於圖片的寬度爲 1200px ,知足「圖片的寬度不能大於其父元素的寬度」這一限制條件,因此圖片保持寬度 1200px 不變。
  2. 當瀏覽器的寬度小於 1200px 時,此時不知足「圖片的寬度不能大於其父元素的寬度」這一限制條件,因此圖片會縮小到知足條件爲止,最後的結果就是圖片的寬度會等於瀏覽器的寬度。這就是爲何圖片會隨着窗口的變窄而變小了。

相似的 CSS 屬性還有 min-width 、max-height 、min-height ,原理都是同樣的。

示例二:首屏內容始終填充整個窗口

(淡綠色的首屏始終填滿了整個窗口,稍稍拉動下拉條,就會進入白色的第二屏)

 

在上圖中咱們能夠看到,談綠色的首屏始終填滿了整個窗口,咱們稍稍拉動下拉條,就會進入白色的第二屏。這種技術常常被展現產品的網站所採用:產品的概念圖放在首屏,詳細的產品描述放在首屏以後,這樣的首屏看起來乾淨簡潔,重點突出。這種首屏內容填滿整個窗口的技術是怎麼實現的呢,咱們來看代碼:

//HTML代碼
<div class="intro">
  <h1>語雀-前端九部</h1>
</div>

//CSS代碼
.intro {
  background: #e0ebe8;
  text-align: center;
  height: 55vh;
  padding-top: 45vh;
}

這其中就用到了 css3 的新增單位 vh 。vh 是一個表示瀏覽器視窗高度的單位,所謂視窗,就是瀏覽器用來真正顯示內容的區域,不包括工具欄等。 1vh 表示視窗高度的百分之一,100vh 表示整個視窗的高度。注意,咱們這裏雖然是使用了百分號的機制,可是書寫的時候不用寫百分號,只用寫數字就行了。在上段代碼中,height 和 padding-top 加起來正好是100vh,因此首屏內容剛好佔據整個視窗的大小。

 的新增單位還有vwvminvmax。你們能夠經過這篇文章瞭解一下。

示例三:媒體查詢(@media)

 

(利用媒體查詢在特定狀況下改變標籤樣式)

 

在上圖中咱們能夠看到,帶有「語雀」字樣的圓形圖標在窗口縮窄到必定程度以後改變了其樣式,由圓形變爲了長方形。這裏就使用到了所謂的媒體查詢方法。媒體查詢簡單用法以下:

@media (max-width: 480px) {
  background-color: lightgreen;;
}

 

 媒體查詢的標識符是 @media 。上面這段代碼的含義是:若是視窗的寬度小於 480px 時,將背景色變爲淡綠色。下面咱們再來看一下實現上圖效果的代碼:

//HTML代碼
<div>
    <a href="#">語雀</a>
    <a href="#">語雀</a>
    <a href="#">語雀</a>
    <a href="#">語雀</a>
    <a href="#">語雀</a>
  </div>

//CSS代碼
  div {
    text-align: center;
    padding-top: 20vh;
  }
  a {
    display: inline-block;
    margin: 0 35px 45px 35px;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    line-height: 100px;
    background: #e0ebe8;
    color: #008080;
  }
  @media (max-width: 367px) {
    a {
      border-radius: 0;
      height: 20px;
      padding: 10px;
      line-height: normal;
    }
  }

當視窗寬度小於 367px 時,寫在 @media 內部的樣式會被啓用。好比@media 中,a 標籤被設置了的 border-radius:0 ,這個時候 border-radius: 0 就會覆蓋以前的 border-radius: 50% ,a 標籤就從圓形變成了長方形。@media 中的某個樣式,若是在這以前已經被設置了,那麼就會覆蓋以前的值,若是以前沒有被設置過,就會添加進去。所謂「存在即覆蓋,不存在則添加」。

關於媒體查詢的用法還有不少,咱們這裏只是介紹了其中的一種,關於更多媒體查詢的用法你們能夠參考這個網站

 

*Webpack

什麼是Webpack

WebPack能夠看作是模塊打包機:它作的事情是,分析你的項目結構,找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),並將其轉換和打包爲合適的格式供瀏覽器使用。

爲什要使用WebPack

現今的不少網頁其實能夠看作是功能豐富的應用,它們擁有着複雜的JavaScript代碼和一大堆依賴包。爲了簡化開發的複雜度,前端社區涌現出了不少好的實踐方法

  • 模塊化,讓咱們能夠把複雜的程序細化爲小的文件;
  • 相似於TypeScript這種在JavaScript基礎上拓展的開發語言:使咱們可以實現目前版本的JavaScript不能直接使用的特性,而且以後還能轉換爲JavaScript文件使瀏覽器能夠識別;
  • Scss,less等CSS預處理器
  • ...

這些改進確實大大的提升了咱們的開發效率,可是利用它們開發的文件每每須要進行額外的處理才能讓瀏覽器識別,而手動處理又是很是繁瑣的,這就爲WebPack類的工具的出現提供了需求。

 Webpack的工做方式是:把你的項目當作一個總體,經過一個給定的主文件(如:index.js),Webpack將從這個文件開始找到你的項目的全部依賴文件,使用loaders處理它們,最後打包爲一個(或多個)瀏覽器可識別的JavaScript文件。

*代碼規範

css規範

1.使用CSS縮寫屬性 
CSS有些屬性是能夠縮寫的,好比padding,margin,font等等,這樣精簡代碼同時又能提升用戶的閱讀體驗。

2.去掉小數點前的「0」

.box{
 margin-top: .5px;
}

3.不要隨意使用!important 樣式,這樣會給後續維護代碼的人員形成困擾

3.簡寫命名

不少用戶都喜歡簡寫類名,但前提是要讓人看懂你的命名才能簡寫哦!

4.連字符CSS選擇器命名規範

1).長名稱或詞組可使用中橫線來爲選擇器命名。

2).不建議使用「_」下劃線來命名CSS選擇器,爲何呢?

輸入的時候少按一個shift鍵; 瀏覽器兼容問題 (好比使用_tips的選擇器命名,在IE6是無效的) 能良好區分JavaScript變量命名(JS變量命名是用「_」)

5.不要隨意使用id

id在JS是惟一的,不能屢次使用,而使用class類選擇器卻能夠重複使用,另外id的優先級優先與class,因此id應該按需使用,而不能濫用。

6.爲選擇器添加狀態前綴

有時候能夠給選擇器添加一個表示狀態的前綴,讓語義更明瞭

7.CSS命名規範(規則)
經常使用的CSS命名規則

頭:header 
內容:content/container 
尾:footer 
導航:nav 
側欄:sidebar 
欄目:column 
頁面外圍控制總體佈局寬度:wrapper 
左右中:left right center 
登陸條:loginbar 
標誌:logo 
廣告:banner 
頁面主體:main 
熱點:hot 
新聞:news 
下載:download 
子導航:subnav 
菜單:menu 
子菜單:submenu 
搜索:search 
友情連接:friendlink 
頁腳:footer 
版權:copyright 
滾動:scroll 
內容:content 
標籤:tags 
文章列表:list 
提示信息:msg 
小技巧:tips 
欄目標題:title 
加入:joinus 
指南:guide 
服務:service 
註冊:regsiter 
狀態:status 
投票:vote 
合做夥伴:partner

註釋的寫法:

/* Header */ 
內容區 
/* End Header */

id的命名:

1)頁面結構

容器: container 
頁頭:header 
內容:content/container 
頁面主體:main 
頁尾:footer 
導航:nav 
側欄:sidebar 
欄目:column 
頁面外圍控制總體佈局寬度:wrapper 
左右中:left right center

(2)導航

導航:nav 
主導航:mainnav 
子導航:subnav 
頂導航:topnav 
邊導航:sidebar 
左導航:leftsidebar 
右導航:rightsidebar 
菜單:menu 
子菜單:submenu 
標題: title 
摘要: summary

(3)功能

標誌:logo 
廣告:banner 
登錄:login 
登陸條:loginbar 
註冊:register 
搜索:search 
功能區:shop 
標題:title 
加入:joinus 
狀態:status 
按鈕:btn 
滾動:scroll 
標籤頁:tab 
文章列表:list 
提示信息:msg 
當前的: current 
小技巧:tips 
圖標: icon 
註釋:note 
指南:guild 
服務:service 
熱點:hot 
新聞:news 
下載:download 
投票:vote 
合做夥伴:partner 
友情連接:link 
版權:copyright

注意事項:

1.一概小寫; 
2.儘可能用英文; 
3.不加中槓和下劃線; 
4.儘可能不縮寫,除非一看就明白的單詞

CSS樣式表文件命名

主要的 master.css 
模塊 module.css 
基本共用 base.css 
佈局、版面 layout.css 
主題 themes.css 
專欄 columns.css 
文字 font.css 
表單 forms.css 
補丁 mend.css 
打印 print.css 

js規範

空格與運算符

一般運算符 ( = + - * / ) 先後須要添加空格

代碼縮進

一般使用 4 個空格符號來縮進代碼塊:

不推薦使用 TAB 鍵來縮進,由於不一樣編輯器 TAB 鍵的解析不同。

語句規則

簡單語句的通用規則:

  • 一條語句一般以分號做爲結束符。
var values = ["Volvo", "Saab", "Fiat"];

var person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"
};

 

  • 複雜語句的通用規則:

    • 將左花括號放在第一行的結尾。
    • 左花括號前添加一空格。
    • 將右花括號獨立放在一行。
    • 不要以分號結束一個複雜的聲明。
function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

 

 短的對象代碼能夠直接寫成一行:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

命名規則

通常不少代碼語言的命名規則都是相似的,例如:

  • 變量和函數爲小駝峯法標識, 即除第一個單詞以外,其餘單詞首字母大寫( lowerCamelCase
  • 全局變量爲大寫 (UPPERCASE )
  • 常量 (如 PI) 爲大寫 (UPPERCASE )

使用小寫文件名

相關文章
相關標籤/搜索