整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端开发规范(一、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 href="http://www.baidu.com">百度</a> 这个属性是必须的,否则a元素就变得毫无意义。它的属性值意味着点击跳转到指定的外部网站去。

    target属性<a href="http://www.baidu.com" 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标签的区别就是两段文本间没有空隙。空隙间隔和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" href="http://www.baidu.com" target="_blank" alt="方形">

</map>

  • iframe标签:嵌入另一个文档。表示在一个页面内建立一个区域引入另一个页面。

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

<a href="http://www.baidu.com" 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等前端库,来呈现丰富多彩的验证效果。