整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端開發規范(一、HTML篇)

          本原則

          結構、樣式、行為分離

          盡量確保文檔和模板只包含 HTML 結構,樣式都放到樣式表里,行為都放到腳本里。

          縮進

          統一兩個空格縮進(總之縮進統一即可),不要使用 Tab 或者 Tab、空格混搭。

          文件編碼

          使用不帶 BOM 的 UTF-8 編碼。

          在 HTML中指定編碼 <meta charset="utf-8"> ;

          無需使用 @charset 指定樣式表的編碼,它默認為 UTF-8 (參考 @charset);

          一律使用小寫字母

          省略外鏈資源 URL 協議部分

          省略外鏈資源(圖片及其它媒體資源)URL 中的 http / https 協議,使 URL 成為相對地址,避免Mixed Content 問題,減小文件字節數。

          其它協議(ftp 等)的 URL 不省略。

          統一注釋

          通過配置編輯器,可以提供快捷鍵來輸出一致認可的注釋模式。


          HTML篇

          標簽

          • 自閉合(self-closing)標簽,無需閉合 ( 例如: img input br hr 等 );
          • 可選的閉合標簽(closing tag),需閉合 ( 例如:</li> 或 </body> );
          • 盡量減少標簽數量;

          Class 與 ID

          • class 應以功能或內容命名,不以表現形式命名;
          • class 與 id 單詞字母小寫,多個單詞組成時,采用中劃線-分隔;
          • 使用唯一的 id 作為 Javascript hook, 同時避免創建無樣式信息的 class;

          屬性順序

          HTML 屬性應該按照特定的順序出現以保證易讀性。

          • id
          • class
          • name
          • data-xxx
          • src, for, type, href
          • title, alt
          • aria-xxx, role

          引號

          屬性的定義,統一使用雙引號。

          嵌套

          a 不允許嵌套 div這種約束屬于語義嵌套約束,與之區別的約束還有嚴格嵌套約束,比如a 不允許嵌套 a。

          嚴格嵌套約束在所有的瀏覽器下都不被允許;而語義嵌套約束,瀏覽器大多會容錯處理,生成的文檔樹可能相互不太一樣。

          語義嵌套約束

          <li> 用于 <ul> 或 <ol> 下;

          <dd>, <dt> 用于 <dl> 下;

          <thead>, <tbody>, <tfoot>, <tr>, <td> 用于 <table> 下;

          嚴格嵌套約束

          inline-Level 元素,僅可以包含文本或其它 inline-Level 元素;

          <a>里不可以嵌套交互式元素<a>、<button>、<select>等;

          <p>里不可以嵌套塊級元素<div>、<h1>~<h6>、<p>、<ul>/<ol>/<li>、<dl>/<dt>/<dd>、<form>等。

          更多詳情,參考WEB標準系列-HTML元素嵌套

          布爾值屬性

          HTML5 規范中 disabled、checked、selected 等屬性不用設置值。

          語義化

          沒有 CSS 的 HTML 是一個語義系統而不是 UI 系統。

          通常情況下,每個標簽都是有語義的,所謂語義就是你的衣服分為外套, 褲子,裙子,內褲等,各自有對應的功能和含義。所以你總不能把內褲套在脖子上吧。– 一絲

          此外語義化的 HTML 結構,有助于機器(搜索引擎)理解,另一方面多人協作時,能迅速了解開發者意圖。

          HEAD

          文檔類型

          為每個 HTML 頁面的第一行添加標準模式(standard mode)的聲明, 這樣能夠確保在每個瀏覽器中擁有一致的表現。

          語言屬性

          lang屬性的取值應該遵循 BCP 47 - Tags for Identifying Languages。

          字符編碼

          以無 BOM 的 utf-8 編碼作為文件格式;

          指定字符編碼的 meta 必須是 head 的第一個直接子元素;

          IE 兼容模式

          優先使用最新版本的IE 和 Chrome 內核

          SEO 優化

          viewport

          viewport: 一般指的是瀏覽器窗口內容區的大小,不包含工具條、選項卡等內容;

          width: 瀏覽器寬度,輸出設備中的頁面可見區域寬度;

          device-width: 設備分辨率寬度,輸出設備的屏幕可見寬度;

          initial-scale: 初始縮放比例;

          maximum-scale: 最大縮放比例;

          為移動端設備優化,設置可見區域的寬度和初始縮放比例。

          iOS 圖標

          apple-touch-icon 圖片自動處理成圓角和高光等效果;

          apple-touch-icon-precomposed 禁止系統自動添加效果,直接顯示設計原圖;

          favicon

          在未指定 favicon 時,大多數瀏覽器會請求 Web Server 根目錄下的 favicon.ico 。為了保證 favicon 可訪問,避免404,必須遵循以下兩種方法之一:

          • 在 Web Server 根目錄放置 favicon.ico 文件;
          • 使用 link 指定 favicon;

          HEAD 模板

          HTML5 是最近十年來 Web 開發標準最巨大的飛躍,目前蘋果、谷歌、微軟世界三大移動互聯網巨頭都支持了 HTML5,HTML5 的發展給移動互聯網應用帶來了全新的變化。HTML5 的出現,給移動互聯網帶來了新的變革,為移動互聯網中富媒體的應用提供了新的思路,并具有廣闊的應用前景。所以HTML5適應了目前的移動互聯網應用潮流。

          Html5課程內容主要包括以下八個方面:Web頁面制作基礎,UI網站設計,編程基礎技術,后端開發技術,移動互聯網應用,特效開發高級實戰,企業級應用開發以及網頁游戲開發。

          兄弟連教育根據公司和行業發展的實際需要設計教學內容,現行的課程體系包括四大階段和特級課:“基礎網頁布局與響應式布局”、“前端核心技術:Javascript”、“HTML5新特性”、”MEAN(MongoDB+Express+Angular.js+Node.js)全??蚣荛_發”,”特級課:微信開發”。

          第一階段:基礎網頁布局與響應式布局

          主要內容:

          1、HTML CSS

          2、PS操作,網頁切圖

          3、基本網頁布局

          4、HTML5 語義標簽

          5、HTML5 智能表單

          6、CSS3

          7、Media Query響應式布局

          --------------------------------------------------分割符---------------------------------------------------------------------------

          詳細內容包括:

          WEB開發構件

          系統及文件基本操作

          基本的快捷鍵

          描述 Windows Mac OS

          編輯菜單 Alt + E Ctrl + F2 + F

          文件菜單 Alt + F Ctrl + F2 + E

          視圖菜單 Alt + V Ctrl + F2 + V

          全選文本 Ctrl + A Cmd + A

          復制文本 Ctrl + C Cmd + C

          查找文本 Ctrl + F Cmd + F

          查找替換文本 Ctrl + H Cmd + F

          新建文檔 Ctrl + N Cmd + N

          打開文件 Ctrl + O Cmd + O

          打印選項 Ctrl + P Cmd + P

          保存文件 Ctrl + S Cmd + S

          粘貼文本 Ctrl + V Cmd + V

          剪切文本 Ctrl + X Cmd + X

          重做文本 Ctrl + Y Shift + Cmd + Z

          撤銷文本 Ctrl + Z Cmd + Z

          文本編輯 描述 Windows Mac OS

          光標移動操作

          文本編輯操作

          Web 瀏覽器操作

          標簽/窗口管理

          打印當前網頁

          保存當前網頁

          地址欄操作

          書簽操作

          屏幕截圖

          WEB開發構件

          C/S結構

          B/S結構

          HTTP協議

          傳輸數據方式:post,get

          HTTP消息類型:2xx,4xx,5xx

          URL組成

          HTML介紹

          HTML發展史

          HTML5簡介

          新標準

          引入原生多媒體支持

          引入可編程內容

          引入予以Web

          http協議

          HTTP消息類型:2xx,4xx,5xx

          開發軟件

          nodepad++

          sublime

          dreamweaver

          HTML介紹

          HTML發展史

          HTML5介紹

          HTML基本語法與規范

          標簽

          屬性

          固有屬性

          自定義屬性

          通用屬性

          元素

          父元素(理解)

          子元素

          兄弟元素

          后代元素

          主體結構

          長度單位

          顏色單位

          基礎標簽

          文本類標簽

          文本格式化標簽

          <b> 定義粗體文本

          <strong> 定義加重語氣

          <em> 定義著重文字

          <i> 定義斜體字

          <br> 換行標簽

          <sub> 定義下標字

          <sup> 定義上標字

          <ins> 定義插入字

          <del> 定義刪除字

          <code> 定義計算機代碼

          <kbd> 定義鍵盤碼

          <samp> 定義計算機代碼樣本

          <var> 定義變量

          <pre> 定義預格式文本

          <abbr> 定義縮寫

          <address> 定義地址

          <bdo> 定義文字方向

          <blockquote> 定義長的引用

          <q> 定義短的引用語

          <cite> 定義引用、引證

          <dfn> 定義一個定義項目。

          計算機輸出類

          語義,引用及標簽定義

          鏈接<a>

          標題Hn

          HTML框架iframe

          段落P

          列表標簽

          字符實體

          空格 &nbsp; &#160;

          < 小于號 &lt; &#60;

          > 大于號 &gt; &#62;

          & 和號 &amp; &#38;

          " 引號 &quot; &#34;

          ' 撇號 &apos; (IE不支持) &#39;

          ¢ 分 &cent; &#162;

          £ 鎊 &pound; &#163;

          ¥ 日元 &yen; &#165;

          € 歐元 &euro; &#8364;

          § 小節 &sect; &#167;

          ? 版權 &copy; &#169;

          ? 注冊商標 &reg; &#174;

          ? 商標 &trade; &#8482;

          × 乘號 &times; &#215;

          ÷ 除號 &divide; &#247;

          表格標簽

          colgroup

          caption

          table

          thead

          col

          span

          th

          tbody

          tr

          td

          colspan

          rowspan

          tfoot

          頭部標簽

          <!doctype html>

          <head> 定義了文檔的信息

          <title> 定義了文檔的標題

          <base> 定義了頁面鏈接標簽的默認鏈接地址

          <link> 定義了一個文檔和外部資源之間的關系

          <meta> 定義了HTML文檔中的元數據

          charsetNew character_set 定義文檔的字符編碼。

          content text 定義與 http-equiv 或 name 屬性相關的元信息。

          http-equiv content-type

          default-style

          refresh 把 content 屬性關聯到 HTTP 頭部。

          name application-name

          author

          description

          generator

          keywords 把 content 屬

          <script> 定義了客戶端的腳本文件

          <style> 定義了HTML文檔的樣式文件

          多媒體標簽

          1. img

          1.1 導入一張圖片

          1.2 屬性

          src 圖片地址

          width 設置圖片寬

          height 設置圖片高

          border 設置圖片邊框

          alt 不顯示圖片時的提示信息

          title 鼠標放上時顯示的圖片描述信息

          usemap map標簽的name #name

          2. map

          2.1 給圖片劃分區域 配合area

          2.2 屬性

          name 給map指定一個name

          3. area

          3.1 在map的配合下給圖片劃分指定形狀的區域

          3.2 屬性

          shape 劃分的形狀

          coords 形狀的坐標·

          href 要鏈接的地址

          target 新網頁打開方式

          4. audio

          4.1 導入音頻的標簽 HTML5新標簽

          4.2 屬性

          src 音頻源的路徑 必備

          controls 顯示控制按鈕 必備

          autoplay 自動播放

          loop 是否循環

          preload 預加載 不能跟autoplay屬性混用

          4.3 audio標簽內部加文字,如果瀏覽器支持這個標簽則文字不會顯示 ,如果不支持就會顯示

          4.4 audio標簽的兩個格式

          簡單格式

          <audio src="../video/music.mp3" controls>您的破瀏覽器不支持,請升級瀏覽器

          </audio>

          完整格式 視頻源單獨放到source標簽中

          <audio controls>

          您的破瀏覽器不支持,請升級瀏覽器

          <source src='../video/music.mp3' type='audio/mp3'>

          <source src='../video/music.wav' type='audio/wav'>

          </audio>

          5. video

          5.1 導入視頻的標簽 HTML5新標簽

          5.2 屬性

          src 路徑

          controls 顯示控制按鈕

          autoplay 自動播放 屬性值 auto none

          loop 是否循環播放

          width 視頻的寬

          height 視頻的高

          poster 縮略圖地址

          6. source

          6.1 配合video標簽 導入不同格式的視頻 HTML5新標簽

          6.2 屬性

          src 視頻地址

          7. canvas 用于畫圖的標簽

          8. embed

          8.1 導入多媒體文件 音頻 視頻 HTML5新標簽

          8.2 屬性

          src 多媒體文件地址

          width

          height

          HTML表單及智能表單

          1. 表單相關標簽

          1.1 form 客戶端跟服務器端進行交互,常用語 登錄 注冊 調查問卷...

          ① 定義表單 所有的表單控件放在form中

          ② 屬性

          action 表單要提交的地址

          method 提交方法 get(默認)提交的值會顯示在url上 不安全而且傳遞的值數量有限 post 提交的內容不會顯示 在url上,傳遞的值范圍也比get方式的大,相對安全

          target 打開新網頁的方式 _self _blank _top _parent

          enctype="multipart/form-data" 傳文件必須加上

          1.2 input

          ① 定義輸入框密碼框單選框復選框.....

          ② 屬性

          type input的類型

          name input的名字

          value input的值

          checked 默認radio和checkbox

          size input框的大小 type:text password textarea

          maxlength input最大輸入長度 type:text password

          1.3 button

          ① 以標簽形式定義按鈕

          ② 屬性

          type 設置submit(默認值), 按鈕具有提交功能 設置為button,普通按鈕 reset 重置

          1.4 textarea

          ① 文本域 雙標簽

          ② 屬性

          name 指定名字

          rows 指定行數 決定文本域高度

          cols 指定列數 決定文本域寬度

          1.5 select

          ① 選擇框 下拉框 單選框

          ② 屬性

          name 指定名字

          multiple 設置為多選

          1.6 option

          ① 定義select中的的選項

          ② 屬性

          value 指定真正的值

          selected 默認值

          1.7 optgroup

          ① 給option分組 不常用

          1.8 fieldset 套在form的外部 添加邊框 不常用

          1.9 legend 在邊框定義form的標題 不常用

          1.20 input select textarea button 稱作表單控件元素

          1.21 通用屬性 所有的表單控件元素都具有屬性 disabled enabled(默認)

          2. form表單input中type類型

          text 文本框 value設置默認值

          password 密碼框 value設置默認值

          radio 單選框 所有的redio name相同才能單選 value設置真正提交的值 默認的按鈕可以設置checked

          checkbox 復選框 value設置真正提交的值 設置默認添加checked屬性

          image 提交按鈕,按鈕樣式來自圖片 配合src屬性

          submit 提交按鈕, value指定按鈕上的文字

          reset 重置按鈕 value指定按鈕上的文字

          button button按鈕 value指定按鈕上的文字

          file 上傳框

          hidden 隱藏域 name value

          3. label標簽

          用來嵌套input, 點擊label嵌套的任何元素都可以激活label內的input

          屬性 for 指定 input的id

          語義標簽

          <header> 定義了文檔的頭部區域

          <nav> 定義運行中的進度(進程)。

          <article> 定義頁面獨立的內容區域。

          <figure> 規定獨立的流內容(圖像、圖表、照片、代碼等等)。

          <figcaption> 定義 <figure> 元素的標題

          <aside> 定義頁面的側邊欄內容。

          <section> 定義文檔中的節(section、區段)。

          <footer> 定義 section 或 document 的頁腳。

          <address> 定義文檔作者或擁有者的聯系信息

          <bdi> 允許您設置一段文本,使其脫離其父元素的文本方向設置。

          <command> 定義命令按鈕,比如單選按鈕、復選框或按鈕

          <details> 用于描述文檔或文檔某個部分的細節

          <summary> 標簽包含 details 元素的標題

          <dialog> 定義對話框,比如提示框

          dt

          dd

          <mark> 定義帶有記號的文本。

          <meter> 定義度量衡。僅用于已知最大和最小值的度量。

          <progress> 定義任何類型的任務的進度。

          <ruby> 定義 ruby 注釋(中文注音或字符)。

          <rt> 定義字符(中文注音或字符)的解釋或發音。

          <rp> 在 ruby 注釋中使用,定義不支持 ruby 元素的瀏覽器所顯示的內容。

          <time> 定義日期或時間。

          <wbr> 規定在文本中的何處適合添加換行符。

          CSS基礎與規范知識

          1. CSS的定義

          Cascading Style Sheets 層疊樣式表(級聯樣式表)

          2. CSS的作用

          定義網頁外觀,如字體、背景、顏色等

          3. CSS特點

          ① 精確的定位 準確的控制頁面的任何元素

          ② 精細的控制 可以做到像素級別的調整

          ③ 樣式與內容的分離 便于維護,便于重用

          4. 發展歷程

          ① CSS1 作為一項W3C推薦,CSS1發布于 1996年12月17 日。1999 年1月11日,此推薦被重新修訂。

          ② CSS2 作為一項 W3C 推薦,CSS2發布于 1999年1月11日。CSS2添加了對媒介(打印機和聽覺設備)和可下載字體的支持。

          ③ CSS3 CSS3 計劃將 CSS 劃分為更小的模塊。2001年至今 HTML5+CSS3

          CSS選擇器

          HTML tag

          Class

          包含選擇器:div span a

          ID

          組合選擇 div,span,a

          任意選擇器(通配符選擇器)*

          關系選擇器

          包含選擇符

          子選擇符

          相鄰選擇符

          兄弟選擇符

          屬性選擇器

          偽類選擇器

          偽對象選擇器

          CSS3屬性

          尺寸

          邊框

          背景

          內補白

          外補白

          布局

          定位

          字體

          文本

          列表

          表格

          用戶界面

          多欄

          2D變換

          過渡

          動畫

          Photoshop網頁設計基礎

          I設計介紹

          photoshop安裝與設置

          位圖與矢量圖

          網頁常用圖片格式

          圖像大小與分辨率

          選區創建和編輯

          選區的創建

          選區工具M

          套鎖工具L

          快速選區工具W和魔術棒W

          鋼筆選區

          創建矢量路徑

          錨點操作

          鋼筆工具

          形狀轉選區ctrl+Enter

          選區的編輯

          選區的存儲

          應用輔助功能

          使用標尺ctrl+R

          設置網格:視圖>顯示>網格ctrl+'

          應用變換功能

          選擇>可變換選區ctrl+T

          縮放

          旋轉

          扭曲

          透視

          變形

          水平翻轉

          垂直翻轉

          應用內容識別比例功能

          操控變形

          裁剪圖像

          裁剪工具

          基礎繪畫

          了解繪畫和繪畫修飾工具

          畫筆

          顏色替換

          涂抹工具

          繪畫的基本技巧

          繪制直線,按住shift

          繪制曲線

          定義顏色

          使用拾色器

          漸變工具

          填充前景色:alt+delete

          填充背景色:control+delete

          為圖像填充顏色shift+f5

          圖形、路徑計算

          網頁布局規范

          Web設計規范

          banner設計

          網頁柵格系統

          網頁構成

          命名規范

          導航設計

          版式設計

          網頁配色

          Photoshop網頁切圖

          網頁切圖及切圖常見問題

          精靈圖片技術

          專題頁設計

          W3C盒子模型

          div+css網頁布局

          HTML5兼容性處理

          使用 HTML5布局元素的布局

          Media Query響應式布局

          原生響應式布局

          媒體查詢+尺寸屬性:百分比,max-width,max-height,min-width,min-height

          --------------------------------------------------分割符---------------------------------------------------------------------------

          可實現效果

          1、表格制作個人簡歷

          2、使用表單制作注冊頁面

          3、div+css基本網頁布局

          4、PS網頁設計

          5、精靈圖片技術

          6、語義化標簽布局

          7、智能表單驗證

          8、多媒體播放

          9、css3:圓角邊框、邊框九宮格特效、多圖背景、動畫、漸變和倒影、多列屬性布局、服務器端字體

          10、響應式網頁實現

          --------------------------------------------------分割符---------------------------------------------------------------------------

          第二階段:前端核心技術:Javascript

          主要內容:

          1、Javascript

          2、Ajax

          3、JQuery

          4、JS高級特效

          --------------------------------------------------分割符---------------------------------------------------------------------------

          詳細內容

          JavaScript 腳本語言

          什么是JavaScript?

          1. JavaScript 是一種客戶端腳本語言(腳本語言是一種輕量級的編程語言)。

          2. JavaScript 通常被直接嵌入 HTML 頁面。

          3. JavaScript 是一種解釋性語言(就是說,代碼執行不進行預編譯)。

          特點:

          1. 弱類型

          2. 基于對象。(因為面向對象需要具有封裝、繼承、多態的特征)

          JavaScript語言中包含三個核心:ECMAScript基本語法、DOM、BOM

          JavaScript是基于對象的腳本語言。

          在HTML中如何使用JavaScript

          1. 使用<script></script>標簽:

          屬性:

          charset(可選)字符集設置、

          defer(可選執行順序)值:defer、

          language(已廢除)、

          src(可選)使用外部的js腳本文件

          type(必選)類型:值:text/javascript

          <script type="text/javascript">

          <!--

          javaScript語言

          //-->

          </script>

          2. 在html標簽的事件中,超級鏈接里。

          <button onclick="javaScript語言"></button>

          <a href="javascript:alert('aa');alert('bb')">點擊</a>

          3. 外部導入方式(推薦):

          <script type="text/javascript" src="my.js"></script>

          JavaScript的語法:

          1.區分大小寫:變量名、函數名、運算符以及其他一切東西都是區分大小寫的。

          2.他和php一樣屬于弱類型語言。

          3.每行結尾的分號可有可無。(js中的每條語句之間的分割符可以是回車換行也可以是";"分號(推薦))

          4.腳本注釋:

          // 單行注釋

          /* 多行注釋 */

          5.括號表示代碼塊:{}

          6.變量的定義:使用var關鍵字來聲明。

          變量的命名規范是:字母數字,$符和下劃線構成,但是不可以以數字開始。

          變量名不可以使用關鍵字.

          typeof函數獲取一個變量的類型:

          7.JavaScript的數據類型:

          undefined 類型

          null 類型(對象)

          boolean 類型

          number 類型

          object引用類型

          8. 類型轉換:

          JavaScript的運算符

          1. 一元運算符

          delete:用于刪除對象中屬性的 如:delete o.name; //刪除o對象中的name屬性

          void: void 運算符對任何值返回 undefined。沒有返回值的函數真正返回的都是 undefined。

          ++ --

          一元加法和一元減法

          2. 位運算符

          位運算 NOT ~

          位運算 AND &

          位運算 OR |

          位運算 XOR ^ (不同為1,相同則為0)

          左移運算 <<

          右移運算 >>

          3. 邏輯運算符

          邏輯 NOT ! 運算符 非

          邏輯 AND && 運算符 與

          邏輯 OR || 運算符 或

          4. 乘性運算符:*( 乘) /(除) %(取模)求余

          5. 加性運算符: + -

          *其中+號具有兩重意思:字串連接和數值求和。

          就是加號”+“兩側都是數值則求和,否則做字串連接

          6. 關系運算符 > >= < <=

          7. 等性運算符 == === != !==

          8. 條件運算符 ? : (三元運算符)

          9. 賦值運算符 = += -= *= /= %= >>= <<=

          10 逗號運算符

          用逗號運算符可以在一條語句中執行多個運算。

          var iNum1=1, iNum2=2, iNum3=3;

          javaScript(語句流程控制)

          1. 判斷語句 if語句; if... else ... if ... else if ... else...

          2. 多分支語句: switch(){。 case :。。。。}

          switch (i) {

          case 20: alert("20");

          break;

          case 30: alert("30");

          break;

          case 40: alert("40");

          break;

          default: alert("other");

          }

          3. 循環語句(迭代語句)

          for:

          while

          do...while

          *for-in 語句: 語句是嚴格的迭代語句,用于枚舉對象的屬性。

          var a = [10,20,30,40,50];

          //迭代的是數組的下標。

          for(i in a){

          document.write(a[i]);

          }

          //輸出: 1020304050

          4. break 和 continue 語句對循環中的代碼執行提供了更嚴格的控制。

          5. *with 語句用于設置代碼在特定對象中的作用域。

          //擴充知識:

          1. 在網頁文檔中獲取一個節點對象(HTML標簽)

          document.getElementById("mid"); //獲取標簽id屬性值為mid的節點對象

          2. 定時相關函數:

          setTimeout(vCode, iMilliSeconds [, sLanguage]) -- 單次定時執行指定函數

          clearTimeout(iTimeoutID) -- 取消上面的單次定時

          setInterval(vCode, iMilliSeconds [, sLanguage]) --無限次定時執行指定函數

          clearInterval(iIntervalID)-- 取消上面的多次定時

          一、JavaScript的函數:

          標準格式: function 函數名([參數列表..]){

          函數體。。。

          [return 返回值;]

          }

          JavaScript三種定義函數方法:

          *第一種是使用function語句定義函數

          如上面格式

          第二種是使用Function()構造函數來定義函數(不常用)

          var 函數名 = new Function(“參數1”,”參數2”,”參數3”……”函數體”);

          如:

          var 函數名 = new Function(”x”,”y”,”var z=x+y;return z;”);

          *第三種是在表達式中定義函數

          var 函數名 = function(參數1,參數2,…){函數體};

          //例如:

          //定義

          var add = function(a,b){

          return a+b;

          }

          //調用函數

          document.write(add(50,20));

          arguments 對象

          在函數代碼中,使用特殊對象 arguments,開發者無需明確指出參數名,就能訪問它們。

          例如,在函數 sayHi() 中,第一個參數是 message。用 arguments[0]

          也可以訪問這個值,即第一個參數的值(第一個參數位于位置 0,

          第二個參數位于位置 1,依此類推)。

          關于變量和參數問題:

          函數外面定義的變量是全局變量,函數內可以直接使用。

          在函數內部沒有使用var定義的=變量則為全局變量,

          *在函數內使用var關鍵字定義的變量是局部變量,即出了函數外邊無法獲取。

          js函數定義的參數沒有默認值(目前只有最新的火狐瀏覽器支持)

          二、系統中常用的內置函數:

          escape() //字串編碼

          unescape() //字串反編碼

          *eval() //將參數字符串作為腳本代碼來執行。

          *isNaN() // is not a number (不是一個數值)

          *parseInt()

          *parseFloat()

          三、JavaScript的對象的定義和使用

          1.使用構造函數創建內置對象

          var myObject = new Object();

          myObject.name = “lijie”;

          myObject.age = 20;

          myObject.say = function(){...}

          2.直接創建自定義對象

          var 對象名 = {屬性名1:屬性值,屬性名2:屬性值2,…….}

          *3.使用自定義構造函數創建對象

          function pen(name,color,price){

          //對象的name屬性

          this.name = name;

          //對象的color屬性

          this.color = color;

          //對象的piece屬性

          this.price = price;

          //對象的say方法

          this.say = function(){};

          }

          var pen = new pen(“鉛筆”,”紅色”,20);

          pen.say();

          一、for…in語句

          ----------------------------------------

          for(var i in window){

          document.write(i+”----”+window[i]);

          }

          這種語句可以遍歷對象中的所有屬性或數組中的所有元素。

          二、with語句

          --------------------------------------------

          如果使用with語句,就可以簡化對象屬性調用的層次。

          document.write(‘test1’);

          document.write(‘test2’);

          document.write(‘test3’);

          可以使用with來簡化:

          with(document){

          write(‘test1’);

          write(‘test2’);

          write(‘test3’);

          }

          三、JavaScript內置對象

          * Array(數組)

          var a= new Array(); //創建一個空數組

          a = new Array(10); //創建一個數組單元為10個的數組。

          a = new Array(10,20,30);//創建一個指定數組單元的數組。

          a=['a','b','c','d']; //快捷定義數組

          常用屬性:

          length--獲取長度。

          常用方法:

          toString() 把數組轉換為字符串,并返回結果。

          sort() 對數組的元素進行排序

          join() 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。

          pop() 刪除并返回數組的最后一個元素

          push() 向數組的末尾添加一個或更多元素,并返回新的長度。

          * Boolean 布爾值包裝類對象

          方法:toSource() 返回該對象的源代碼。

          toString() 把邏輯值轉換為字符串,并返回結果。

          valueOf() 返回 Boolean 對象的原始值。

          * Date

          var dd = new Date();

          getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。

          getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)。

          getMonth() 從 Date 對象返回月份 (0 ~ 11)。

          getFullYear() 從 Date 對象以四位數字返回年份。

          getYear() 請使用 getFullYear() 方法代替。

          getHours() 返回 Date 對象的小時 (0 ~ 23)。

          getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。

          getSeconds() 返回 Date 對象的秒數 (0 ~ 59)。

          getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。

          getTime() 返回 1970 年 1 月 1 日至今的毫秒數。

          同上還有很多set方法用來設置。

          * Math 對象用于執行數學任務。方法是靜態的。

          abs(x) 返回數的絕對值。

          ceil(x) 對數進行上舍入。

          floor(x) 對數進行下舍入。

          random() 返回 0 ~ 1 之間的隨機數。

          round(x) 把數四舍五入為最接近的整數。

          max(x,y) 返回 x 和 y 中的最高值。

          min(x,y) 返回 x 和 y 中的最低值。

          * Number

          toString();

          toFixed 把數字轉換為字符串,結果的小數點后有指定位數的數字。

          * String 子串處理對象

          anchor() 創建 HTML 錨。

          *charAt() 返回在指定位置的字符。

          charCodeAt()返回在指定的位置的字符的 Unicode 編碼。

          *indexOf() 檢索字符串。

          *lastIndexOf() 從后向前搜索字符串。

          match() 找到一個或多個正在表達式的匹配。

          *replace() 替換與正則表達式匹配的子串。

          search() 檢索與正則表達式相匹配的值。

          slice() 提取字符串的片斷,并在新的字符串中返回被提取的部分。

          split() 把字符串分割為字符串數組。

          substr() 從起始索引號提取字符串中指定數目的字符。

          *substring() 提取字符串中兩個指定的索引號之間的字符。

          toLocaleLowerCase() 把字符串轉換為小寫。

          toLocaleUpperCase() 把字符串轉換為大寫。

          *toLowerCase() 把字符串轉換為小寫。

          *toUpperCase() 把字符串轉換為大寫。

          * RegExp

          exec()正則匹配

          test()

          match()

          * Global

          escape(string) -- 可對字符串進行編碼

          unescape(string) -- 函數可對通過 escape() 編碼的字符串進行解碼。

          encodeURI(URIstring) -- 函數可把字符串作為 URI 進行編碼。

          decodeURI(URIstring) -- 函數可對 encodeURI() 函數編碼過的 URI 進行解碼。

          *eval(string) -- 函數可計算某個字符串,并執行其中的的 JavaScript 代碼。

          getClass(javaobj) -- 函數可返回一個 JavaObject 的 JavaClass。

          *isNaN(x) -- 函數用于檢查其參數是否是非數字值。

          Number(object) --函數把對象的值轉換為數字。

          *parseFloat(string) -- 函數可解析一個字符串,并返回一個浮點數。

          *parseInt(string, radix)

          事件處理

          一、事件源: 任何一個HTML元素(節點) body, div , button p, a, h1 .......

          二、事件: 你的操作

          鼠標:

          * click 單擊

          dblclick 雙擊

          contextmenu (在body) 文本菜單(鼠標右鍵使用)

          要想屏蔽鼠標右鍵使用return false

          window.document.oncontextmenu=function(ent){...}

          * mouseover 放上(移入)

          * mouseout 離開(移出)

          mousedown 按下

          mouseup 抬起

          * mousemove 移動

          鍵盤:

          keypress 鍵盤事件

          keydown 按下

          文檔:(主要使用在body標簽中)

          * load 加載

          unload 關閉(為了兼容可使用下面函數)

          beforeunload 關閉之前

          表單:

          * focus 焦點

          * blur 失去焦點

          * submit 提交事件

          * change 改變(如下拉框選擇事件)

          其它:

          * scroll 滾動事件(常用延遲加載、瀑布流技術)

          window.onscroll=function(){

          document.documentElement.scrollTop;//獲取滾動條的上距離

          document.documentElement.scrollLeft;//滾動條的左距離

          }

          selectd 事件

          。。。。

          三、事件處理程序

          使用一個匿名或回調函數

          有三種方法加事件

          第一種:

          格式: <tag on事件="事件處理程序" />

          *第二種:

          <script>

          對象.on事件=事件處理程序

          </script>

          第三種:(火狐不兼容)

          <script for="事件源ID" event="on事件">事件處理程序</script>

          事件對象:

          屬性:

          1. srcElement

          2. keyCode 鍵盤值

          事件 event window.event

          1. srcElement 代表事件源對象

          2. keyCode 事件發生時的鍵盤碼 keypress , keydown keyup

          3. clientX, clientY 坐標位置

          4. screenX, screenY

          5. returnValue

          6. cancelBubble;

          //為頁面添加鼠標右點擊事件

          window.document.oncontextmenu=function(ent){

          //兼容IE和火狐瀏覽器兼容

          var event=ent || window.event;

          //獲取事件坐標位置

          var x=event.clientX;

          var y=event.clientY;

          ...

          }

          一、BOM

          1. window對象

          常用的屬性:

          *document :對 Document 對象的只讀引用

          *history :對 History 對象的只讀引用。

          *location:用于窗口或框架的 Location 對象

          Navigator: 對 Navigator 對象的只讀引用

          *parent: 返回父窗口。

          length: 設置或返回窗口中的框架數量。

          Screen: 對 Screen 對象的只讀引用

          status: 設置窗口狀態欄的文本。

          top: 返回最頂層的先輩窗口。

          常用方法:

          alert() 顯示帶有一段消息和一個確認按鈕的警告框。

          confirm() 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。

          prompt() 顯示可提示用戶輸入的對話框。

          close() 關閉瀏覽器窗口。

          open() 打開一個新的瀏覽器窗口或查找一個已命名的窗口。

          scrollTo() 把內容滾動到指定的坐標。

          setTimeout() 在指定的毫秒數后調用函數或計算表達式。

          clearTimeout() 取消由 setTimeout() 方法設置的 timeout。

          setInterval() 按照指定的周期(以毫秒計)來調用函數或計算表達式。

          clearInterval() 取消由 setInterval() 設置的 timeout。

          2. Navigator 對象

          Navigator 對象包含的屬性描述了正在使用的瀏覽器。可以使用這些屬性進行平臺專用的配置。

          常用屬性:

          with(document) {

          write ("你的瀏覽器信息:<ul>");

          write ("<li>代碼:"+navigator.appCodeName+"</li>");

          write ("<li>名稱:"+navigator.appName+"</li>");

          write ("<li>版本:"+navigator.appVersion+"</li>");

          write ("<li>語言:"+navigator.language+"</li>");

          write ("<li>編譯平臺:"+navigator.platform+"</li>");

          write ("<li>用戶表頭:"+navigator.userAgent+"</li>");

          write ("</ul>");

          }

          3. Screen 對象包含有關客戶端顯示屏幕的信息。

          常用屬性:

          document.write( "屏幕寬度:"+screen.width+"px<br />" );

          document.write( "屏幕高度:"+screen.height+"px<br />" );

          document.write( "屏幕可用寬度:"+screen.availWidth+"px<br />" );

          document.write( "屏幕可用高度:"+screen.availHeight+"px" );

          參考了解其他屬性信息獲取方式

          網頁可見區域寬: document.body.clientWidth

          網頁可見區域高: document.body.clientHeight

          網頁可見區域寬: document.body.offsetWidth (包括邊線的寬)

          網頁可見區域高: document.body.offsetHeight (包括邊線的高)

          網頁正文全文寬: document.body.scrollWidth

          網頁正文全文高: document.body.scrollHeight

          網頁被卷去的高: document.body.scrollTop

          網頁被卷去的左: document.body.scrollLeft

          網頁正文部分上: window.screenTop

          網頁正文部分左: window.screenLeft

          屏幕分辨率的高: window.screen.height

          屏幕分辨率的寬: window.screen.width

          屏幕可用工作區高度: window.screen.availHeight

          屏幕可用工作區寬度: window.screen.availWidth

          4. History 對象包含用戶(在瀏覽器窗口中)訪問過的 URL。

          5. Location 對象包含有關當前 URL 的信息。

          講解DOM

          一、基本概念

          HTML DOM 定義了訪問和操作HTML文檔的標準方法。

          HTML DOM 把 HTML 文檔呈現為帶有元素、屬性和文本的樹結構(節點樹)。

          DOM 被分為不同的部分:

          1.Core DOM

          定義了一套標準的針對任何結構化文檔的對象

          2.XML DOM

          定義了一套標準的針對 XML 文檔的對象

          3.HTML DOM

          定義了一套標準的針對 HTML 文檔的對象。

          節點:根據 DOM,HTML 文檔中的每個成分都是一個節點。

          DOM 是這樣規定的:

          >整個文檔是一個文檔節點

          >每個 HTML 標簽是一個元素節點

          >包含在 HTML 元素中的文本是文本節點

          >每一個 HTML 屬性是一個屬性節點

          >注釋屬于注釋節點

          節點彼此間都存在關系。

          >除文檔節點之外的每個節點都有父節點。

          >大部分元素節點都有子節點。

          >當節點分享同一個父節點時,它們就是同輩(同級節點)。

          >節點也可以擁有后代,后代指某個節點的所有子節點,或者這些子節點的子節點

          >節點也可以擁有先輩。先輩是某個節點的父節點,或者父節點的父節點

          查找并訪問節點

          你可通過若干種方法來查找您希望操作的元素:

          >通過使用 getElementById() 和 getElementsByTagName() 方法

          >通過使用一個元素節點的 parentNode、firstChild 以及 lastChild childNodes屬性

          節點信息

          每個節點都擁有包含著關于節點某些信息的屬性。這些屬性是:

          nodeName(節點名稱)

          nodeValue(節點值)

          nodeType(節點類型)

          nodeName 屬性含有某個節點的名稱。

          元素節點的 nodeName 是標簽名稱

          屬性節點的 nodeName 是屬性名稱

          文本節點的 nodeName 永遠是 #text

          文檔節點的 nodeName 永遠是 #document

          二、HTML DOM 對象參考

          Document: 代表整個 HTML 文檔,可被用來訪問頁面中的所有元素

          常用集合屬性:forms

          Anchor : 代表 <a> 元素

          Area : 代表圖像映射中的 <area> 元素

          Base : 代表 <base> 元素

          Body : 代表 <body> 元素

          Button : 代表 <button> 元素

          Event : 代表某個事件的狀態

          Form : 代表 <form> 元素

          Frame : 代表 <frame> 元素

          Frameset: 代表 <frameset> 元素

          Iframe : 代表 <iframe> 元素

          Image : 代表 <img> 元素

          Input button : 代表 HTML 表單中的一個按鈕

          Input checkbox : 代表 HTML 表單中的復選框

          Input file : 代表 HTML 表單中的文件上傳

          Input hidden : 代表 HTML 表單中的隱藏域

          Input password : 代表 HTML 表單中的密碼域

          Input radio : 代表 HTML 表單中的單選按鈕

          Input reset : 代表 HTML 表單中的重置按鈕

          Input submit : 代表 HTML 表單中的確認按鈕

          Input text : 代表 HTML 表單中的文本輸入域(文本框)

          Link : 代表 <link> 元素

          Meta : 代表 <meta> 元素

          Object : 代表 <Object> 元素

          Option : 代表 <option> 元素

          Select : 代表 HTML 表單中的選擇列表

          Style : 代表單獨的樣式聲明

          Table : 代表 <table> 元素

          TableData : 代表 <td> 元素

          TableRow : 代表 <tr> 元素

          Textarea : 代表 <textarea> 元素

          AJAX

          var xmlhttp;

          1. 創建請求對象

          if(window.XMLHttpRequest){

          // code for IE7+, Firefox, Chrome, Opera, Safari

          xmlhttp=new XMLHttpRequest();

          }else{

          // code for IE6, IE5

          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

          }

          2. 設置回調函數(監聽)

          xmlhttp.onreadystatechange=函數名;

          xmlhttp.onreadystatechange=function(){

          函數體。。。

          }

          3. 初始化:

          xmlhttp.open("GET",url,true);

          4. 發送:

          xmlhttp.send();

          其中:xmlhttp請求對象:

          **屬性:

          *readyState //請求狀態:0,1,2,3,4

          *responseText//響應內容

          responseXML //xml響應對象

          *status //瀏覽器響應狀態:200正常, 404 請求地址不存在 ,,

          statusText //狀態內容

          *onreadystatechange //回調函數屬性

          方法:

          abort() //取消當前響應,關閉連接并且結束任何未決的網絡活動。

          getAllResponseHeaders() //把 HTTP 響應頭部作為未解析的字符串返回。

          getResponseHeader() //返回指定的 HTTP 響應頭部的值

          *open() //初始化 HTTP 請求參數

          *send() //發送 HTTP 請求,使用傳遞給 open() 方法的參數

          *setRequestHeader() //向一個打開但未發送的請求設置或添加一個 HTTP 請求。

          自定義Ajax實例使用

          jQuery的基本語法

          對象的訪問

          each()

          size()

          length

          selector

          context

          get()

          index()

          jQuery 屬性操作

          屬性

          attr

          removeAttr

          prop

          removeProp

          CSS

          addClass

          removeClass

          toggleClass

          HTML代碼/文本/值

          html()

          text()

          val()

          基礎知識

          JQuery簡介

          JQuery 安裝

          JQuery語法

          jQuery CSS 操作

          css:css()

          位置

          offset()

          position()

          scrollTop()

          scrollLeft()

          尺寸

          height()

          width()

          innerHeight()

          innerWidth()

          outerHeifht()

          outerWIdth()

          jQuery 選擇器

          基本

          層級

          偽類

          內容

          可見性

          屬性

          子元素

          表單

          表單對象屬性

          jQuery 篩選

          過濾

          查找

          串聯

          jQuery HTML文檔處理

          內部插入

          外部插入

          包裹

          替換

          刪除

          復制

          jQuery 事件

          頁面載入

          事件處理

          事件委派

          事件切換

          事件

          jQuery效果

          jQuery 隱藏顯示

          jQuery 淡入淡出

          jQuery 滑動

          jQuery 動畫

          jQuery停止動畫

          jQuery Callback

          Jquery chaining

          jQuery Ajax

          jQuery Ajax簡介

          jQuery load()方法

          jQuery get()/post()方法

          jQuery 其他

          jQuery noConflict()方法

          jQuery JSONP

          數組和對象操作

          函數操作

          測試操作

          字符串操作

          瀏覽器及特性檢測

          URL

          數據緩存

          隊列機制

          jQuery 插件

          插件使用

          jQuery 自定義插件方法

          --------------------------------------------------分割符---------------------------------------------------------------------------

          可實現效果

          1、刷新改背景

          2、獲取和設置時間

          3、從URL中獲取文件名

          4、簡單的計算器

          5、滾動類效果

          6、自定義菜單

          7、下拉菜單

          8、手風琴菜單

          9、彈出層

          10、瀑布流布局,滾動事件

          11、選項卡開發

          12、幻燈播放

          13、拖拽效果

          14、淘寶商品的放大效果

          15、登錄注冊驗證

          16、首頁多特效合成

          17、后臺效果制作

          18、瀑布流

          19、點名器

          20、抽獎

          --------------------------------------------------分割符---------------------------------------------------------------------------

          第三個階段:HTML5新特性

          主要內容

          1、視頻/音頻

          2、地理定位

          3、Web 存儲

          4、應用緩存

          5、拖放

          6、文件讀取

          7、Web Workers

          8、畫布 SVG

          9、CSS預處理

          10、BootStrap 響應式框架

          --------------------------------------------------分割符---------------------------------------------------------------------------

          詳細內容:

          HTML5 多媒體

          audio/video API操作

          地理位置信息獲取

          geolocation API操作

          地球間兩點距離計算方法

          地圖API調用

          HTML5離線緩存

          cache manifest規范及格式

          HTML5本地存儲

          localStorage - 沒有時間限制的數據存儲

          sessionStorage - 針對一個 session 的數據存儲

          拖放(Drag 和 drop)

          FileReader

          瀏覽器多線程

          畫布 SVG 動畫實現

          SASS使用

          SASS的基本語法

          Bootstrap配置

          使用Bootstrap布局頁面

          Bootstrap全局樣式

          柵格系統原理

          Bootstrap各種常用組件

          Bootstrap常用插件應用

          --------------------------------------------------分割符---------------------------------------------------------------------------

          可實現效果:

          制作屬于自己的音/視頻播放器

          查看經緯度

          獲取公交路線

          顯示路線導航

          離線應用

          多線程優化用戶體驗

          拖放歌曲列表

          圖片拖放顯示

          拖放照片墻

          繪畫五角星

          繪制時鐘

          勻速、變速、圓周、曲線等物理運動

          碰撞原理與實現

          九大行星圍繞運動

          鼠標交互特效

          使用SASS制作動態CSS程序

          使用UI框架實現響應式布局

          --------------------------------------------------分割符---------------------------------------------------------------------------

          第四階段:MEAN(MongoDB+Express+Angular.js+Node.js)全??蚣荛_發

          主要內容:

          1、Node.js

          2、MongoDB

          3、Express

          4、AngularJS

          5、WEB APP制作

          --------------------------------------------------分割符---------------------------------------------------------------------------

          詳細內容:

          NodeJS與瀏覽器js的區別

          NodeJS基礎

          NodeJS安裝

          模塊

          require

          exports

          module

          NPM

          代碼的組織和部署

          模塊路徑解析規則

          包(package)

          index.js

          package.json

          文件操作

          Buffer(數據塊)

          Stream(數據流)

          File System(文件系統)

          Path(路徑)

          網絡操作

          HTTP

          HTTPS

          URL

          Query String

          Zlib

          Net

          NPM/Bower依賴管理工具

          Zepto.js庫

          NodeJS文件操作

          使用NodeJS搭建Web服務器

          使用NodeJS搭建Socket服務器

          數據倉庫:

          SQL:結構化查詢語言(Structured Query Language)

          常見的SQL:MySQL Oracle MariaDB PostgreSQL等SQL

          常見的NoSQL:MongoDB Redis Memcache

          MongoDB:

          C++語言編寫,基于分布式文件存儲的開源數據庫系統

          BSON:類JSON對象(Binary JSON,二進制形式的存儲格式)

          {"username":"zhangsan","age":20,"sex":"男"}

          由"鍵值對"組成

          結構劃分:

          數據庫(database) db

          集合(collection)

          文檔(document)

          字段(field)

          安裝MongoDB

          1.針對庫的操作

          查看所有庫

          創建并進入數據庫

          查看當前庫

          刪除數據庫

          2.集合操作

          查看當前集合

          3.針對文檔操作

          插入數據

          修改數據:

          刪除

          查詢數據

          Express框架快速構建WEB應用程序

          Express簡介+MVC簡介

          Express路由模塊

          模板引擎 jade ejs handlebars

          nosql數據庫MogoDB管理數據

          使用mongoose操作MongoDB

          Angular JS介紹

          Angular JS 表達式

          Angular JS簡介

          Angular JS指令

          Angular JS模型

          Angular JS Scope(作用域)

          Angular JS 控制器

          Angular JS 過濾器

          Angular JS Http

          Angular JS 表格

          Angular JS SQL

          Angular JS HTML DOM

          Angular JS 事件

          Angular JS模塊

          Angular JS表單

          Angular JS輸入驗證

          Angular JS Bootstrap應用

          Angular JS 包含

          Angular JS 應用

          App介紹

          WebApp/NativeApp/HybirdApp簡介

          Cordova線下打包App

          移動應用開發平臺云端打包App

          --------------------------------------------------分割符---------------------------------------------------------------------------

          可實現以下效果

          使用Nodejs搭建

          應用程序的服務端

          使用Socket長連接實時網絡通信技術制作聊天室

          帶有前后臺的簡單博客系統

          使用AngularJS打造單頁面購物車應用

          打包手機端應用

          --------------------------------------------------分割符---------------------------------------------------------------------------

          特級課:微信開發

          主要內容:微信開發

          1、微信接口開發

          2、微信應用開發

          3、微信UI框架

          4、原型設計

          5、面試題講解

          --------------------------------------------------分割符---------------------------------------------------------------------------

          詳細內容

          微信JSSDK使用

          分享接口

          圖像接口

          音頻接口

          智能接口

          設備信息

          地理位置

          界面操作

          WEUI框架

          原型設計

          用戶體驗設計

          面試題

          --------------------------------------------------分割符---------------------------------------------------------------------------

          可實現但不限于以下效果

          微信測智商

          測測上輩子是誰

          測運勢

          留言板

          照片分享發送

          語音識別

          位置顯示

          WEUI框架制作微信原生樣式界面

          小編已盡力排版,如小伙伴們覺得依然較亂,請留言

          言:萬物之始,大道至簡,演化至繁。水滴不染塵世浮華,方能純凈如冰川靈動如絲絨。落紅不逐春日絢爛,方有一年春盡一年春。

          一、html5的介紹

          1.1介紹

          html號稱超文本標記語言,代表著瀏覽器技術發展的一個階段。html版本1到版本5的更新迭代都是由組織W3C管理的。當時到html4.1的時候,W3C組織就聲稱不再更新版本了。而改用XHTML。但是由于瀏覽器的各種不兼容的問題,于是乎W3C這個組織就和其他的瀏覽器產商一起聯合起來將這門語言再次更新到html5

          比喻:

          html5 >機器人的骨骼

          css3 >機器人的外在修飾

          js > 機器人的行為如行走、抬腿

          Jquery > 封裝好的控制行為的庫,可以提高效率

          1.2優勢

          • 易用性

          • 支持視頻和音頻

          • 互動性高

          • 支持移動設備

          • 未來的趨勢

          1.3開發工具

          HBuild、WebStrom、sublime Text

          二、代碼規范

          2.1代碼規范

          新建一個Web項目

          相比html4來說,html5的語法更加簡潔并且在規定上也更加寬松。

          • 單標簽不用寫關閉符號

          • 雙標簽省略結束標簽

          • html、head、body、colgroup、tbody可以完全省略

          • 刪除其中一些,打開瀏覽器的檢查元素功能,也不會報錯

          三、各類標簽

          3.1文本標簽

          • b標簽:表示關鍵字和產品名稱。<b>html</b>其實它的實際作用就是將一段文字加粗。但是并不是特別強調它的重要性。比如說:在一段文字當中出現的某些關鍵字或者產品的名稱就可以用b標簽

          • strong標簽:表示比較重要的文字<strong>html</strong>它的作用也是加粗,只是它在強調一段比較重要的文本

          • br單標簽:換行

          • wbr標簽:安全換行you've no idea how worried <wbr> i was當用戶對網頁進行縮放的時候可能會有一些單詞被擠到下一行。如果不行某個單詞被分離的話,可以使用安全換行標簽

          • i標簽:傾斜。em標簽語義一樣,但em表示強調<i>傾斜標簽</i>它用于表示外文詞匯或科技術語

          • s標簽:刪除線。del標簽表示強調。<s>html</s>刪除線

          • u標簽:給文字加下劃線。ins標簽表示強調<u>html</u>下劃線

          • small標簽:添加小號字體<small>放小一號</small>將文本放小一號。通常用于免責聲明和澄清聲明。

          • sub和sup標簽:添加上標和下標X<sub>5</sub>和Y<sup>2</sup>(sub和sup長差不多,這個要如何去記憶呢?大家可以看到b的肚子在下面,所以呢它是下標,而p的頭部在上方,所以記錄是上標。那這樣一來是不是就感覺清晰了許多呢)

          • q標簽:引用來自其它出處的內容<q>有朋自遠方來</q>

          • ruby標簽:語言元素。常用于幫助讀者正確發音。<ruby>夔<rp>(</rp><rt>kui</rt><rp>)</rp></ruby><rp><rt>用來幫助讀者掌握表意語言文字的正確發音。比如說漢語拼音在文字的上方。

          • bdo標簽:設置文字方向<bdo dir="rtl">設置文字方向</bdo>dbo必須使用屬性dir才可以設置,一共兩個值:rtl從右到左和ltr從左到右。一般默認是ltr。還有一個bdi元素也是處理方向的,由于是特殊語言的效果,并且主流瀏覽器有些不支持,所以可以忽略。

          • mark標簽:突出顯示文本<mark>突出顯示文本</mark>加上一個黃色的背景,黑色的字。從語義上來看,與上下文相關而突出的文本,用于記號。

          • a標簽:超鏈接a元素屬于文本元素,有一些私有屬性。

            href屬性 <a >百度</a> 這個屬性是必須的,否則a元素就變得毫無意義。它的屬性值意味著點擊跳轉到指定的外部網站去。

            target屬性<a target="_blank">百度</a> 這個屬性告訴瀏覽器希望打開的新窗口顯示在哪里。_blank表示在新窗口中打開文檔。_self表示在當前窗口打開文檔。默認_self。(_parent和_top這些要結合框架來使用,但是基本上用得已經很少了。)

            錨點設置:用于將同一個文檔中的另一個元素移入視野。說通俗一點就是通過點擊這個錨點定位到頁面中的某個位置。

          <a href="#1">第一節</a>

          <a href="#2">第二節</a>

          <a href="#3">第三節</a>

          </br>

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          <a name="1">第一節的內容 我?應該說點啥的。

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          </a>

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          &hellip;&hellip;以上省略一萬行&hellip;&hellip;

          ==========以下全都是分隔符============</br>

          <a name="2">第二節的內容 我?應該說點啥的。

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          ==========以下全都是分隔符============</br>

          </a>

          3.2分組標簽

          顧名思義,分組元素就是用來組織相關內容的html元素,對它們進行清晰有效的分類。

          • p標簽:表示段落<p>這是一個段落</p> <p>這是一個段落</p>p標簽就是將內部包含的文本形成一個段落。它們可以自動換行,而且段落與段落之間保持一定量的空隙。

          • div標簽:通用分組<div>這是一個塊標簽</div> <div>這是另一個塊標簽</div>在早期的版本中經常用到,用div將其他數據或標簽包裹起來,進而進行布局。但是在html5中,漸漸被其他元素替代。(它與p標簽的區別就是兩段文本間沒有空隙??障堕g隔和br標簽換行一樣)

          • blockquite標簽:引用大段其他地方的內容<blockquote>引用別人的內容的輔導費打發打發可以換行哦他也有首尾縮進的效果</blockquote>有段落空隙的功能,還包含了首尾縮進的功能。

          • pre標簽:按照原格式展示數據<pre> 我就是 長這樣的 參差不齊 </pre>(有時候某些文字就想要按照原來的格式顯示出來就要用到pre標簽。它就是將數據原封不動的顯示出來)

          • hr標簽:單標簽。添加一條分割線。

          • ul和li標簽:添加無限列表

          <ul>

          <li>貂蟬</li>

          <li>大喬</li>

          <li>小喬</li>

          <li>孫尚香</li>

          </ul>

          ul標簽表示無序列表(就像咱們平時說的無符號整形,在前面也是加了一個u),而li標簽則表示內部的列表項

          • ol和li:表示有序列表

          • start屬性:表示從第幾個序列開始統計。<ol start="2">

          • reversed屬性:是否倒序排列。<ol reversed>(不過這個屬性有很多的瀏覽器不支持,所以要謹慎使用)

          • type屬性:表示列表的編號的類型 <ol type="A">

          • value屬性:這是屬于li的屬性。表示強行設置某個項目的編號。<li value="7">安琪拉</li>

          • dl、dt、dd:列表標簽

          <dl>

          <dt>第一份內容</dt>

          <dd>第一行詳細內容</dd>

          <dd>第二行詳細內容</dd>

          <dl>

          雖然說這三個標簽是一個整體,但是dt和dd標簽并非都必須出現

          • figure和figcaption標簽:使用插圖的意思。一般用于圖片的布局。

          <figure>

          <figcaption>這里有一張圖哦</figcaption>

          <img src="img.png">

          </figure>

          3.3表格標簽

          表格的用途是以網格的形式顯示二維數據。開發者可以對表格中的元素標簽設置不同的屬性如邊框寬度、顏色等使表格呈現出不同的效果。

          3.3.1 標簽

          • table:表示表格標簽

          • tr:代表某一行

          • td:代表一個單元格。

          <table border="1" style="width:300px;">

          <tr> <!--相當于行-->

          <td>王昭君</td> <!--相當于每行中的每一列-->

          <td>沉魚落雁</td>

          <td>法師</td>

          </tr>

          <tr> <!--相當于行-->

          <td>貂蟬</td> <!--相當于每行中的每一列-->

          <td>羞花閉月</td>

          <td>刺客</td>

          </tr>

          </table>

          • th:代表標題單元格。代表標題,作用是將內部文字居中且加粗。

          <tr>

          <th>姓名</th>

          <th>特征</th>

          <th>職業</th>

          </tr>

          • thead:代表表頭。(某些時候,網頁上的表頭是由js動態生成的。有可能沒按照先后的順序排列,如此一來表頭就有可能顯示到第二行、第三行甚至是表尾。用thead將tr括起來可以讓數據永遠顯示在第一行)

          <thead>

          <tr>

          <th>姓名</th>

          <th>特征</th>

          <th>職業</th>

          </tr>

          • tfoot:表示表尾:與表頭相反

          • tbody:表示表格的主體部分

          • (這里非常建議用分主體、表頭、表尾的方式寫。因為到后期使用CSS樣式的時候只要拿到某個標簽就可以設置總體的樣式了,這樣就會非常方便)

          • caption:添加表格的標題

          • colgroup:群組。用于設置列的屬性。默認設置第一個(有的時候需要設置單獨列的屬性,如果說我只想設置第二列的屬性,則需要把第一列的設置成白色)

          <!--<table border="1" style="width:300px;">-->

          <colgroup style="background:white;" span="1"></colgroup> <!--設置第一個顏色為白-->

          <colgroup style="background:red;" span="1"></colgroup> <!--設置第二個顏色為紅 span代表一列-->

          • col:群組的子標簽。更加靈活的設置列屬性。通過占位符設置不需要的屬性。

          <colgroup>

          <col> <!--占位,表示第一列不設置-->

          <col style="background: pink;">

          </colgroup>

          3.3.2屬性

          • border:表示邊框的寬度 <table border="1"></table>

          • style:通用屬性。在css中做詳解。

          • colspan:合并列 <td colspan="3">統計</td>這句代碼表示共占三個單元格

          • rowspan:合并行

          <tr>

          <th rowspan="4">學員</th>

          <th>姓名</th>

          <th>特征</th>

          <th>職業</th>

          </tr>

          3.3文檔元素

          文檔元素的主要作用是劃分各個不同的內容,讓整個布局更加清晰。 進入代替div。讓整個布局元素都具有語義。

          • header標簽:表示頁面頭部。通常包括標題或導航等內容。下面內容會換行(在頁面中一般會用樣式將它設置到居中)

          • footer標簽:表示頁面的尾部,一般用于版權聲明、友情鏈接等。

          • h1-h6標簽:標題標簽,有字體加粗的效果。從1-6字號依次減小

          <h1>這里是一個大標題</h1> <h3>這里是一個副標題</h3>

          • hgroup:組合標題。hgroup的作用就是當多個標題出現,干擾到一對或多個本身需要整合的標題。

          <header>

          <hgroup>

          <h1>這里是一個大標題</h1>

          <h3>這里是一個副標題</h3>

          </hgroup>

          </header>

          <footer>

          <h4>這里是尾部的副標題</h4>

          這里存放頁面的尾部:如版權聲明,友情鏈接

          </footer>

          如上面那段代碼,頭部的h4標題就能與h1綁定起來,從而和尾部的h4分離。

          • section標簽: 定義一個文檔的主題內容

          • nav標簽: 給文檔頁面添加一個導航

          • aritcle標簽:添加一個獨立成篇的文檔(像平常看到的論壇,貼吧,評論都有自己的頭、尾和內容等)

          <article>

          <header>

          <nav>&hellip;&hellip;</nav>

          </header>

          </article>

          • aside標簽:生成注釋欄。

          <aside>這是一個注釋欄</aside>

          • address表示文檔或者是article元素的聯系信息

          • <address>聯系信息</address>

          • 本身有傾斜的效果。如果是在article元素下表示其下的聯系信息,如果是在body元素下表示整個文檔的聯系信息

          3.4嵌入元素

          嵌入元素主要功能是把外部的一些資源插入到html中。

          • img標簽:用于顯示圖片

          • src:嵌入圖像的url

          • alt:(如果圖片能正常顯示則沒有任何效果。若圖片加載不成功會出現備用內容)

          • width/height:定義圖片的寬度和高度,單位是像素<img src="img.png" alt="風景圖" width="320" height="400"/>

          • ismap:獲取到圖片區域的像素點加入了ismap屬性之后,點擊圖片在瀏覽器中就會獲得圖片被點擊的地方的像素點。(把文件在目錄中打開,講文件拷貝到谷歌瀏覽器打開就能看見)

          <a href="index.html">

          <img ismap src="img_5.jpg" alt="風景圖">

          </a>

          • usemap:創建分區的響應圖。比如說點擊圖片的某一部分,可以跳轉到某一個網頁。(當點擊了coords這塊區域時,跳轉到指定的網頁)

          <img src="img_5.jpg" usemap="#Map" />

          <map name="Map">

          <area shape="circle" coords="31,28,112,100" target="_blank" alt="方形">

          </map>

          • iframe標簽:嵌入另一個文檔。表示在一個頁面內建立一個區域引入另一個頁面。

          <a href="index.html" >index</a>

          <a target="in">百度</a>

          <iframe src="http://www.baidu.com" width="300" heigth="300" name="in"></iframe>

          • progress標簽:用于顯示進度

          • 該標簽會產生一個進度條,一般我們會用js代碼來控制其內部的值。(當前值用value來表示,而最大值用max來表示)

          <progress value="30" max="100"></progress>

          • meter標簽:顯示范圍里的值(類似于進度條,可以規定最大值和最小值max/min。low值規定它的值過低,high表示值過高。而optimun表示最佳值,但是這個屬性是呈現不出效果的)

          <meter value="90" min="10" max="100" low="40" high="80" optimum="60"></meter>

          3.5音頻和視頻標簽

          音頻和視頻文件其實都只是一個容器文件。視頻文件包含了音頻軌道、視頻軌道和其他一些元數據。視頻播放時,音頻軌道和視頻軌道是綁定在一起的。元數據包含了視頻的封面、標題字幕等信息。在網頁實現中,有很多的瀏覽器廠商都有自己的標準,所以html5規范也沒有強制指定編解碼器了。所以在網頁上嵌入視頻和音頻時,最好提供mp4格式和webM格式的視頻。否則有可能由于瀏覽器不兼容的問題導致視頻不能播放。

          • video標簽: 視頻標簽屬性:

          • src:視頻資源的url

          • width:視頻寬度

          • height:視頻高度

          • <video src="test.mp4" width="320" height="400"></video>

          • controls:設置后顯示播放控件(未設置這個屬性時,視頻就像一張圖片,設置controls之后才能顯示視頻播放控件)

          • <video src="test.mp4" width="320" height="400" controls></video>

          • autoplay:表示立即播放視頻

          • loop:反復播放視頻(也就是說在播放結束之后會重新播放視頻)

          • muted:設置之后,視頻會處于靜音狀態

          • poster:指定視頻數據載入時顯示的圖片。(相當于視頻的一個封面)

          <video src="test.mp4" width="320" height="400" controls

          poster="img_5.jpg"></video>

          • preload:預加載。不設置會在第一次播放自動緩存。如果值為none會直到用戶點擊時再加載視頻。如果值為metadata表示播放之前只加載第一幀。auto是默認的,表示要求瀏覽器盡快的加載視頻。

          • 兼容多個瀏覽器 source標簽

          <video src="test.mp4" width="320" height="400" controls poster="img_5.jpg">

          <source src="test.webm"/>

          <source src="test.mp4"/>

          </video>

          • audio標簽:用于嵌套音頻內容。屬性與視頻元素類似。只是沒有寬高設置和圖片。

          • <audio src="test.mp3" controls></audio>

          3.6表單標簽

          表單標簽是用于獲取用戶的輸入數據的。

          • form標簽:表示定義html表單。用該標簽包含的標簽具有提交功能。也就是說,在瀏覽器的地址欄里面能獲取到用戶的信息。(如果不定義表單,那么它是無法提交數據的)

          <form>

          用戶名:<input name="user">

          <button>提交</button>

          </form>

          屬性

          • action:表示表單提交到的頁面(也就是要把數據傳入到哪個頁面中)

          • method:表示表單的提交方式。默認是get。而get和post請求的區別就是post后面不跟請求體。也就是用戶信息。相對來說更加的安全。(一般來說,get是用于超鏈接提交居多,post用作表單提交居多)

          • <form method="post" action="http://www.haosou.com"></from>

          • enctype:表示瀏覽器對發送給服務器的數據采用的編碼格式。有三種格式。默認是不能將文件上傳到服務器&rdquo;application/x-www-form-urlencoded&ldquo;、multipart/form-data用于將文件上傳到服務器、text/plain不建議使用

          • name:設置表單名稱,以便程序調用

          • target:提交的目標,與超鏈接無異

          • autocomplete:設置瀏覽器記錄用戶輸入的信息。分為on和off兩個值。默認為on。

          • novalidate:設置是否執行客戶端數據有效性檢查

          • input標簽:表示用來收集用戶輸入數據的控件。它默認會出現一個單行的文本框。

          • type:文本框的類型。值為text時表示單行文本框;值為password表示密碼框;值為search時,除了火狐瀏覽器的其他瀏覽器外,會顯示一個叉來取消搜索內容,值為number時,表示只限于數字輸入;值為range時,生成一個數值范圍文本框;當type為date系列時,可以獲取日期和時間的值,有六種形態date、month、time、week、datetime、datetime-local;當值為color代表可以獲取不同的顏色;當值為checkbox、radio時表示復選框和單選。單選的name值必須一樣。checked表示默認勾選狀態值為img是表示產生一張圖片按鈕,后面可以接src,alt,width等熟悉值為email,tel,url時表示輸入電子郵件、電話和網址格式值為hidden時,生成一個隱藏控件(看不見,但提交的時候會顯示,一般用于關聯主鍵id提交)值為file的時候,表示上傳文件。accept屬性表示限制文件<input type="text">

          音樂<input type="checkbox" checked>

          體育<input type="checkbox">

          <input type="radio" name="sex" value="男" checked>男

          <input type="radio" name="sex" value="女">女

          <input type="hidden" value="1" name="id">

          <input type="file" accept="image/gif">

          • maxlength:設置文本框最大字符長度

          • readonly:設置文本框為只讀狀態。可以提交但是不能修改文本框的值。

          • placeholder:占位符

          • size:設置文本框的寬度

          • required:表明用戶必須輸入一個值,否則無法通過輸入驗證

          • <input type="text" list="abc" required>

          • autofocus:讓光標聚焦在某個input元素上,方便用戶直接輸入。<input name="user" autofocus>

          • disabled:禁止input元素 (連點擊都不能)

          • list:為文本框提供建議值

          <form>

          <input type="text" list="abc">

          <button>提交</button>

          </form>

          <datalist id="abc">

          <option value="1">湖南</option>

          <option value="2">海南</option>

          </datalist>

          • value:默認在輸入框內出現的值

          • form:與表單外的數據掛鉤一遍提交

          <form id="register" name="reg" action="index.html">

          用戶名:<input name="user">

          <button>提交</button>

          </form>

          年齡:<input name="age" form="register">

          • label標簽:把文字和input標簽包裹起來可以方便設置樣式,并且當用戶點擊文字的時候,光標會自動移入到對應的input框。(如果只是設置了文字用label包裹,又想點擊文字將標簽自動移入對應的框,可以將label的屬性for的值設置成與input的id設置成一樣)

          <label for="user"> 用戶名:</label>

          <input id="user" name="user">

          • fieldset標簽:對表單進行編組。三個屬性name、form、disabled

          • legend標簽:添加分組說明的標簽(也就是說給分組加上一個標題)

          <fieldset>

          <legend>注冊分組</legend>

          <label for="user"> 用戶名:</label>

          <input id="user" name="user">

          <button>提交</button>

          </fieldset>

          • button標簽:創建一個按鈕。type屬性有三個值,submit表示提交,reset表示重置,也就是把input的值變成初始值。button表示一個普通的按鈕。

          • select標簽:下拉列表。需要和option標簽配合使用。

          • name屬性:設定提交時的名稱

          • disabled屬性:將下拉列表禁用

          • form屬性:將表單外部與內部掛鉤

          • size屬性:下拉列表的個數

          • multiple屬性:設置是否可以多選

          • required:選擇驗證,必須選擇后才能通過

          <select name="fruit" size="5" multiple >

          <!--value值是真正要提交上去的值,而后面的是顯示到頁面的值-->

          <option value="1">花花菇涼</option>

          <option value="2">文小喵</option>

          </select>

          optgroup標簽:對列表進行分組選擇。

          <form action="http://www.baidu.com">

          <select name="fruit" multiple size="5">

          <optgroup label="表情包">

          <option value="1">花花菇涼</option>

          <option value="2">文小喵</option>

          </optgroup>

          <optgroup label="書">

          <option value="4" selected>微微一笑很傾城</option>

          <option value="5">神雕俠侶</option>

          </optgroup>

          </select>

          <button>提交</button>

          </form>

          • textarea標簽:生成一個可變大小的多行文本框

          <!--wrap表示是否插入換行符 有soft和hard兩種。hard提交之后在地址欄可以看見%插入的隱藏換行符-->

          <textarea name="content" rows="20" cols="30" wrap="hard"></textarea>

          • pattern:正則表達式。開頭和結尾用^和$ novalidate屬性表示不要驗證該表單

          <input type="text" placeholder="請輸入區號和座機" pattern="^[\d]{2,4}\-[\d]{6,8}$">

          html對網頁頁面的布局或者是表單驗證等功能都相對簡陋,并且不同的瀏覽器支持的成熟度是不盡相同的。因此在大部分情況下,還是要借助jsjqury等前端庫,來呈現豐富多彩的驗證效果。


          主站蜘蛛池模板: 亚洲综合一区二区三区四区五区| 亚洲天堂一区二区| 亚洲AV无码一区二区乱子伦| 精品免费国产一区二区三区| 午夜影视日本亚洲欧洲精品一区| 波多野结衣中文一区| 国产成人一区在线不卡| 国产一区二区不卡老阿姨| 无码中文字幕人妻在线一区二区三区| 日本道免费精品一区二区| 久久久久久免费一区二区三区| 国产精品乱码一区二区三区| 国产精品主播一区二区| 久久精品国产免费一区| 亚洲高清一区二区三区| 日韩免费视频一区| 国产亚洲3p无码一区二区| 亚洲国产精品一区二区第一页 | 日韩一区二区久久久久久| 国产精品 一区 在线| 久久久91精品国产一区二区三区| 熟女精品视频一区二区三区| 天天综合色一区二区三区| 中文字幕在线播放一区| 激情啪啪精品一区二区| 国产成人欧美一区二区三区| 女同一区二区在线观看| 麻豆国产一区二区在线观看| 日本一区二区在线播放| 亚洲美女视频一区| 日韩伦理一区二区| 一区二区高清在线| 国产日韩AV免费无码一区二区 | 中文字幕日韩一区二区三区不 | 国产成人一区二区动漫精品| 国产一区韩国女主播| 少妇人妻偷人精品一区二区| 伦理一区二区三区| 亚洲欧美成人一区二区三区| 亚洲av日韩综合一区久热| 精品国产一区二区三区在线 |