HTML零基础入门视频课程——笔记

视频课程链接:http://edu.51cto.com/course/16023.html

HTML,主讲:汤小洋

一、HTML简介

1. HTML是什么

​ HTML:Hyper Text Markup Language超文本标签(标记)语言

​ 由各种标签组成,用来制作网页,告诉浏览器该如何显示页面

2. 作用

  • 制作网页,控制网页和内容的显示
  • 插入图片、音乐、视频、动画等多媒体
  • 通过链接检索信息
  • 使用表单获取用户信息,实现交互

3. 版本

​ W3C:World Wide Web Consortium [kənˈsɔ:tiəm]万维网联盟,制定Web技术相关标准和规范的组织,HTML就是W3C制定的标准

​ 两个版本:HTML4.01、HTML5

​ 官网:http://w3school.com.cn/

​ 参考:离线文档W3CSchool_new.chm 或 w3school.zip

4. 后缀名

​ HTML文件以.html或.htm为后缀

二、HTML文档结构

1. 基本结构

1.1 简介

  • HTML标签是由尖括号包围的关键词,如<html>,通常都是成对出现,如<html> </html>
  • <html>为根标签,包含<head>头部和<body>主体部分
  • 头部提供关于网页的相关信息,如标题、文档类型、字符编码、关键字等摘要信息
  • 主体部分提供网页的具体内容,真正显示在页面中
  • 合理的进行缩进;标签名不区分大小写,但一般都习惯全小写

1.2 开发工具

​ 记事本notepad、Sublime、Dreamweaver

​ 使用步骤:

  1. 新建文件(Ctrl+N),然后保存(Ctrl+S),指定后缀名为.html
  2. 编写HTML代码
  3. 在浏览器中打开文件

​ 使用技巧:

  • 先保存文件再写代码,否则没有颜色提示

  • 创建一个文件夹,用于保存所有网页内容,并将文件夹拖放到Sublime中,便于管理

  • 显示/隐藏侧边栏

    方式1:View ——> Side Bar ——> Show Side Bar、Hide Side Bar

    方式2:先按Ctrl+K,然后紧接着按B

  • 显示多栏

    方式1:View ——> Layout ——> Single、Columns:2

    方式2:按Ctrl+Alt+2

  • 设置缩进的大小

    临时:点击右下角的Tab Size ——> Tab Width:2

    永久:Preferences ——> Settings ——> 添加如下内容:"tab_size":2

1.3 浏览器

​ 常见浏览器:IE微软、Chrome谷歌、Firefox火狐、Safari苹果

​ 浏览器的作用是读取HTML文件,并以网页的形式显示

​ 浏览器不会直接显示HTML标签,而是使用标签来解释页面的内容

2. 标签组成

2.1 标签组成

​ 一个完整的HTML标签的组成:

<标签名 属性名="属性值">内容</标签名>

​ 属性值要用引号引起来,一般使用双引号

​ 注:从标签的开始到标签的结束,包括中间的内容,称为HTML元素

2.2 标签分类

​ 根据标签是否关闭,可以分为:关闭型、非关闭型

  • 关闭型,有结束标签

    <title></title>
    <body></body>
    <h1></h1>
  • 非关闭型,没有结束标签

    <br>
    <hr>
    <meta>

​ 根据标签是否独占一行,可以分为:块级标签、行级标签

  • 块级标签:显示为块状,独自占一行

    <h1></h1>
  • 行级标签:在行内显示,可以与其他内容在同一行显示

    <span></span>

3. 注释

​ 注释在浏览器中不会显示,但通过查看源代码可以看到

<!-- 注释内容 -->

4. 实体字符

​ 也称为特殊字符,用于显示一些特殊符号,如:<、>、&、空格等

​ 语法:

&实体字符名称;

​ 常用实体字符:

```html 
< < 小于号 less than
> > 大于号 greater than
  空格 space 对于连续的空白字符(包含空格、缩进、换行等),在浏览器中显示时只会显示为一个空格
& & 与
" " 双引号
© © 版权符号 copyright
® ® 注册符号 register
× × 关闭符号


​   注:实体字符名称区分大小写,即大小写敏感

### 5. 文档类型

​   在HTML文档的第一行,使用<!DOCTYPE>声明HTML文档的类型

​   用来告诉浏览器页面的文档类型,简单来说,用来指定使用的HTML版本规范

​      目前基本上都是使用HTML5:`<!DOCTYPE html>` 

​   注:HTML 4.01中<!DOCTYPE>需要引用DTD,有三种类型的DTD:strict严格、transitional过渡、frameset框架

​       Sublime中可以输入html:4s按tab键,即可创建出HTML4声明的文档结构(严格类型)

## 三、常用标签

### 1. 基本标签

| 标签         | 含义             | 说明                                           |
| ------------ | ---------------- | ---------------------------------------------- |
| br           | 换行标签         | 非关闭型                                       |
| p            | 段落标签         | 关闭型,块级标签,前后有明显的间隔             |
| h1、h2....h6 | 标题标签         | 按照h1到h6逐渐变小,块级标签,加粗显示         |
| pre          | 预格式化文本标签 | 保留编码时的格式                               |
| div          | 分区标签         | 常作为容器来使用,一般用在页面布局中,块级标签 |
| span         | 范围标签         | 默认没有任何效果,一般用来设置行内的特殊样式   |
| ol、li       | 有序列表         | 有顺序的项目列表                               |
| ul、li       | 无序列表         | 无顺序的项目列表                               |
| dl、dt、dd   | 定义列表         | 对术语、图片等进行描述定义的列表               |
| hr           | 水平线标签       | 非关闭型,块级标签                             |
| img          | 图像标签         | 非关闭型,行级标签                             |

#### 1.1 有序列表

​   ol:ordered list

​   li:list item

​   默认使用阿拉伯数字从1开始标记,可以通过属性进行修改

- type属性:设置列表前的符号标记,取值:数字1(默认值)、字母a或A、罗马数字i或I
- start属性:设置起始值,值必须是数字

#### 1.2 无序列表

​   ul:unordered list

​   li:list item

​   默认使用实心圆作为符号标记,可以通过属性进行修改

- type属性:设置列表前的符号标记,取值:disc实心圆(默认值)、circle空心圆、square正方形、none不显示符号

#### 1.3 定义列表

​   dl:definition list

​   dt:definition title

​   dd:definition description

#### 1.4 水平线标签

​   hr:horizontal

​   常用属性:

- color 颜色

  两种写法:

  ​ 颜色名称,如red、green、blue、white、black....

  ​ 16进制的RGB:Red、Green、Blue,用法:#RRGGBB,每个颜色的范围是0-255,转换为16进制是00-FF

  ​     如#FF00000红、#00FF00绿、#0000FF蓝、#FFFFFF白、#000000黑、#CCCCCC灰色、#FF7300橙色

- size  粗细

- width 宽度

  两种写法:

  ​ 像素,绝对值(固定值)

  ​ 百分比,相对值,相对于父容器的宽度百分比

- align 对齐

  取值:center(默认值)、left、right

#### 1.5 图像标签

​   img:image

​   常见图片格式:.jpg  .png  .bmp  .gif

​   常用属性:

- src:source 指定图片的路径,必须有

  如果图片和html页面在同一个文件夹中,可以直接写图片名称

  习惯上,我们会把多个图片统一放到特定文件夹中,如images,此时需要在图片名称前添加文件夹的名称images/

- alt 当图片无法显示时的提示信息

- title 当鼠标停留在图片上时显示的提示信息

- width/height 设置图片的宽和高

  默认按图片原尺寸显示

  如果只设置其中一个,则另一个按比例缩放

  如果同时设置宽和高,可能会导致图片变形

  两种写法:

  ​ 像素,绝对值(固定值)

  ​ 百分比,相对值,相对于**父容器**的宽度百分比

### 2. 其他标签

| 标签    | 含义                 | 说明                                                 |
| ------- | -------------------- | ---------------------------------------------------- |
| i       | 斜体显示             | italic                                               |
| em      | 强调的内容           | 在浏览器中显示时一般为斜体                           |
| address | 地址                 | 在浏览器中显示时一般为斜体,块级标签                 |
| b       | 加粗显示             | bold                                                 |
| strong  | 强调的内容           | 在浏览器中显示时一般为粗体                           |
| del     | 删除线               | delete                                               |
| ins     | 下划线               |                                                      |
| small   | 相对当前字号减小一号 |                                                      |
| big     | 相当当前字号增加一号 |                                                      |
| sub     | 下标                 |                                                      |
| sup     | 上标                 |                                                      |
| bdo     | 设置文本方向         | 通过属性dir="rtl"设置文本从右到左显示(right to left) |
| abbr    | 设置文字缩写         | 当鼠标停留在文字上时显示的提示信息                   |

注:为了更好的语义化

### 3. 头部标签

- meta 定义网页的摘要信息,如字符编码、关键字、描述、作者等

- title 定义网页的标题

- style 定义内部CSS样式

- link 引用外部CSS样式文件

- script 定义或引用脚本

- base 定义基础路径,修改文件的相对路径参照

  默认以当前页面所在位置为相对路径的参照,使用base时则以base标签的href属性作为参照

### 4. 标签嵌套

​   标签不能瞎嵌套,如以下嵌套就是错误的,p标签中不能嵌套div标签

```html
<p>
    <div>world</div>
</p>

​ 浏览器渲染后显示的页面代码与编码时可能会有所不同

Chrome浏览器的开发者工具

​ 用来帮助开发人员查看和调试页面,其它浏览器也有类似的工具,如Firefox的Firebug

​ 如何打开:

  • 在页面中右击——>检查/查看元素/审查元素
  • 按F12

​ 常用工具:

  • Elements:从浏览器的角度查看页面,浏览器渲染页面时的HTML、CSS、DOM等
  • Console:控制台,显示各种警告和错误信息
  • Network:查看网络请求信息,浏览器向服务器请求了哪些资源、资源的大小以及加载资源花费的时间

四、超链接

1. 简介

​ 使用超链接可以从一个页面跳转到另一个页面,实现页面间的导航

​ 当把鼠标移动到超链接上时,鼠标箭头会变成一只小手

​ 超链接的类型有三种:

  • 普通链接/页面间链接,跳转到另一个页面
  • 锚链接,跳转到锚点
  • 功能性链接,实现特殊功能

2. 基本用法

​ 使用a标签创建超链接

​ 语法:

<a href="链接地址" target="链接打开位置">链接文本或图像</a>

​ 常用属性:

  • href 链接地址/路径,必须的
  • target 链接打开的位置,取值:
_self(自身、当前,默认值)、_blank(空白、新的)、_parent(父层框架)、_top(顶层框架)、自定义

​ 路径分类:

  • 相对路径

    相对于当前文件的路径

    如果链接目标和当前页面文件在同一个文件夹,可以直接写名称

    如果不在同一个文件夹中,则需要指定相对路径

    .表示当前位置

    ..表示上一级位置

  • 绝对路径

    以根开始的路径

    D:/software/dd.html

    http://bbs.itany.com/forum.php?mod=viewthread&tid=2268

3. 锚链接

3.1 简介

​ 点击链接后跳转到指定的位置(锚点anchor)

​ 锚链接的分类:

  • 页面内的锚链接
  • 页面间的锚链接

3.2 页面内的锚链接

​ 使用步骤:

  1. 定义锚点(标记)
<a name="锚点名称">目标位置</a>

​ 2. 链接锚点

<a href="#锚点名称">当前位置</a>    

3.3 页面间的锚链接

<a href="目标页面#锚点名称">当前位置</a>    

4 功能性链接

<a href="images/heihei.gif">点击此处下载图片</a>
<a href="mailto:[email protected]">联系我们</a>
<a href="javascript:alert('胆子不小!')">点我试试</a>

5. URL

5.1 简介

​ URL:Uniform Resource Locator 统一资源定位符,用来定位资源所在位置,最常见的就是网址

http://bbs.itany.com/forum.php?mod=viewthread&tid=2266
ftp://ftp.itany.com/code/day02/day02.pdf
file://E:/Software

5.2 组成

http://www.baidu.com:8080/java/html/a.html?name=tom&age=21#abc

​ 一个完整的URL由8个部分组成:

  • 协议 protocol,如:

    ​ http 超文本传输协议,用来访问Web网站

    ​ ftp 文件传输协议,用来访问服务器上的文件,实现文件的上传下载

    ​ file 文件协议,用来访问本地文件

  • 主机名 hostname,服务器的地址,如:bbs.itany.com、ftp.itany.com

  • 端口 port,位于主机名的后面,使用冒号:隔开

    不同的协议有不同的默认端口,如:http 80、ftp 21

    如果使用的是默认端口,则端口可以省略

    如果使用的不是默认端口,则端口不能省略

  • 路径 path 目标文件所在的路径结构,如:/java/html

  • 资源 resource 要访问的目标文件,如a.html

  • 查询字符串 query string,也称为参数

    在资源后面使用?开头的一组名称/值

    名称和值之间以=隔开,多个之间以&隔开,如:?name=tom&age=21

  • 锚点 anchor,在资源后面使用#开头的文本,如:#abc

  • 身份认证 authentication,指定身份信息,如:ftp://wbs17083:[email protected]/

五、表格

1. 简介

​ 表格是一个规则的行列结构,每个表格由若干行组成,每行由若干单元格组成。

​ table、row、column

2. 基本结构

2.1 table标签

​ 用来定义表格

​ 常用属性:

  • border 边框,默认为0
  • width/height 宽度/高度
  • align 水平对齐,取值:left、center、right
  • bordercolor 边框颜色
  • bgcolor 背景颜色
  • background 背景图片
  • cellspacing 间距,单元格与单元格之间的距离
  • cellpadding 边距,单元格内容与边界之间的距离

2.2 tr标签

​ 用来定义行,table row

​ 常用属性:

  • align 水平对齐,取值:left、center、right
  • valign 垂直对齐,取值:top、middle、bottom
  • bgcolor 背景颜色
  • background 背景图片

2.3 td标签

​ 用来定义单元格,table data

​ 常用属性:align、valign、bgcolor、background

注:表格必须由行组成,行必须由单元格组成,数据必须放到单元格td中

3. 合并单元格

​ 也称为表格的跨行跨列

​ 两个属性:

  • rowspan

    设置单元格所跨的行数,如rowspan=2,表示跨越2行

  • colspan

    设置单元格所跨的列数,如 colspan=4,表示跨越4列

​ 步骤:

  1. 在跨越的单元格中设置rowspan/colspan属性

  2. 将被跨越的单元格删除

注:必须要保证每行的实际列数是相同的,否则表格可能会出现错乱

4. 高级标签

4.1 caption标签

​ 表格的标题

4.2 thead标签

​ 表格的头部 table head

4.3 tbody标签

​ 表格的主体 table body

​ 注:浏览器会自动为表格添加tbody

4.4 tfoot标签

​ 表格的脚部 table foot

4.5 th标签

​ 表格的头部标题 table head title

​ 一般用在thead中,设置头部的标题,替代td标签,与td的区别在于:加粗和居中对齐

六、表单

1. 简介

​ 表单是一个包含若干表单元素的区域,用于获取不同类型的用户信息

​ 表单元素是允许用户在表单中输入信息的元素,如:文本框、密码框、单选按钮、复选框、下拉列表、按钮等

2. 基本结构

2.1 表单语法

<form action="表单提交地址" method="提交方式">
   多个表单元素
</form>  

2.2 form标签

​ 用来定义表单,可以包含多个表单元素

​ 常用属性:

  • action 提交数据给谁处理,默认为当前页面

  • method 提交数据的方式,取值:get (默认值)、post

    get和post的区别:

    ​ get:以查询字符串形式提交、地址栏能看到、长度有限制、不安全

    ​ post:以表单数据组形式提交、地址栏中看不到、长度无限制、安全

    ​ 实际开发中,一般都使用post

  • enctype 提交数据的编码,默认为application/x-www-form-urlencoded,上传文件时要改为multipart/form-data

3. 普通表单元素

​ 大多数表单元素都是使用input标签,通过type属性设置表单元素的类型

<input type="表单元素类型">
表单元素类型 含义 说明
text 单行文本框 省略不时写默认就是text
password 密码框 输入时以点号显示,安全
radio 单选按钮 只能选择其中的一个
checkbox 复选框 可以同时选择多个
submit 提交按钮 提交表单数据
reset 重置按钮 重置表单元素的初始值
image 图像按钮 可以使用图片作为按钮,也具有提交的功能
button 普通按钮 默认无功能
file 文件选择器 选择要上传的文件
hidden 隐藏域 在页面上不显示,但会提交,可以用来存储数据

3.1 单行文本框

​ 常用属性:

  • name 名称,很重要,如果没有name,则该表单元素的数据不会被提交

  • value 初始值

  • size 宽度

  • maxlength 最大字符数,默认没有限制

  • readonly 只读,readonly="readonly",可简写为readonly,即只写属性名

  • disabled 禁用,完全不能用

    注:readonly和disabled区别:readonly的数据会提交,而disabled的数据不会提交

    表单元素被提交的两个条件:1. 有name属性 2.非disabled

3.2 单选按钮

​ 常用属性:

  • name 名称,多个radio的name属性值必须相同,才能实现单选(互斥)
  • value 值
  • checked 是否选中,两种状态:选中、未选中

3.3 复选框

​ 常用属性和radio类似

3.4 文件选择器

​ 常用属性:

  • name 名称

  • accept 设置可选的文件类型,用来限制上传的文件类型

    使用MIME格式字符串对资源类型进行限制

    常用MIME类型:

    ​ 纯文本:text/html、text/xml、text/plain

    ​ 格式文本:application/rtf、application/pdf、application/msword、application/json

    ​ 图像:image/jpeg、image/png、image/gif

    ​ 音频:audio/mpeg、audio/ogg、audio/x-wav

    ​ 视频:video/x-msvideo、video/mp4、video/quicktime

    注:可以通过类似image/*来匹配所有图像文件

4. 特殊表单元素

表单元素 含义 说明
select 下拉列表
option 列表选项
optgroup 选项组 用来对option进行分组
textarea 文本域/多行文本框 用来创建多行文本框

4.1 下拉列表

​ select常用属性:

  • name 名称

  • size 行数,同时显示多个选项

  • multiple 允许同时选择多个选项

  • disabled 禁用

​ option常用属性:

  • value 选项值,如果省略value,则默认使用option的文本内容作为value

  • selected 设置默认选中项

​ optgroup常用属性:

  • label 分组的标题

4.2 文本域

​ 常用属性:

  • name 名称
  • rows 行数
  • cols 宽度

​ 注:在textarea中会保留编码时的格式

5. 其他表单元素

5.1 label标签

​ 为表单元素提供标签,当选中label标签中的文本内容时会自动将焦点切换到与之关联的表单元素

​ 常用属性:

  • for 必须将该属性值设置为与关联表单元素的id属性相同

注:几乎所有标签都具有id属性,且id值必须唯一

5.2 button标签

​ 也表示按钮,与input的按钮类似

​ 语法:

<button type="按钮类型">按钮文本或图像</button>

​ 常用属性:

  • type 按钮的类型,取值:submit(默认值)、reset、button

5.3 fieldset和legend标签

​ fieldset标签,对表单元素进行分组

​ legend标签,为分组添加标题

七、内嵌框架

1. 简介

​ 使用iframe可以在一个页面中引用另一个页面,实现复用,灵活

​ 注:框架集frameset在HTML5中已经不支持,了解

2. 基本用法

​ 语法:

<iframe src="" width="" height=""></iframe>

​ 常用属性:

  • src 引用的页面
  • width/height 宽度/高度,像素或百分比
  • frameborder 是否显示边框,取值:yes(1)、no(0)
  • scrolling 是否显示滚动条,取值:yes、no、auto
  • name 为框架定义名称

3. 在框架中打开链接

<iframe name="itany"></iframe>

<a href="" target="itany"></a>

八、HTML5简介

1. 概念

​ W3C于1999.12发布 HTML4.01标准

​ W3C于2014.10发布HTML5标准

2. 特点

  • 取消了过时的标签,如font、center等,它们仅用于展现外观
  • 增加了一些更具有语义化的标签,如header、footer、aside等
  • 增加了一些新功能标签,如audio、video、canvas等
  • 增加了一些表单控件,如email、date、time、url、search等
  • 可以直接在浏览器中绘画(canvas),无需flash
  • 增加了本地存储的支持

3. 兼容性

​ 网站:http://caniuse.com/

​ 提供了各浏览器版本对于HTML5和CSS3规范的支持度

九、HTML5新增内容

1. 结构相关标签

​ 用来进行页面结构布局,本身无任何特殊样式,需要使用CSS进行样式设置

  • article 定义一个独立的内容,完整的文章
  • section 定义文档的章节、段落
  • header 文章的头部、页眉或标题
  • footer 文章的底部、页脚或脚注
  • aside 定义侧边栏
  • figure 图片区域
  • figcaption为图片区域定义标题
  • nav 定义导航菜单

​ 注:结构标签只是表明各部分的角色,并无实际外面样式,与普通的div类似

2. 语义相关标签

2.1 mark标签

​ 标注,用来突出显示文本,默认添加×××背景

2.2 time标签

​ 定义日期时间,便于搜索引擎智能查找

​ 常用属性:

  • datetime 提供标准XML格式日期(yyyy-MM-ddTHH:mm:ss.SSS)

2.3 details和summary标签

​ 默认显示summary中的内容,点击后显示details中的内容

​ 注:并不是所有浏览器都兼容,Chrome、Opera支持,Firefox不支持

2.4 meter标签

​ 计数仪,表示度量

​ 常用属性:

  • max 定义最大值,默认为1
  • min 定义最小值,默认为0
  • value 定义当前值
  • high 定义限定为高的值
  • low 定义限定为低的值
  • optimum 定义最佳值

​ 规则:

  1. 如果optimum大于high,则表示值越大越好

    当value大于high时为绿色

    当value在low和hight之间时为×××

    当value小于low时为红色

  2. 如果optimum小于low,则表示值越小越好

    当value小于low时为绿色

    当value在low和high之间时为×××

    当value大于high时为红色

  3. 如果optimum介于low和high之间,则表示值在low和high之间最好

    当value在low和high之间时为绿色,否则为×××

2.5 progress标签

​ 进度条,表示运行中的进度

​ 常用属性:

  • max 定义完成的值
  • value 定义当前值

3. 表单相关

3.1 新增表单元素

​ 新增以下type类型:

  • email 接收email
  • url 接收URL
  • tel 接收电话号码,目前仅在移动设备有效
  • search 搜索文本框
  • number/range 接收数字/数字滑块,包含min、max、step属性
  • date/month/week/time/datetime/datetime-local 日期时间选择器(兼容性不好)
  • color 颜色拾取

​ 作用:

  • 具有格式校验的功能
  • 可以和移动设备的虚拟键盘类型相关联(需要通过Web服务器访问)

3.2 新增表单属性

​ 新增以下表单属性,form标签的属性:

  • autocomplete 是否启用表单的自动完成功能,取值:on(默认值)、off
  • novalidate 提交表单时不进行验证,默认会进行表单验证

3.3 新增表单元素属性

​ 新增以下表单元素属性,input/select/textarea等标签的属性:

  • placeholder 提示文字
  • required 是否必填
  • autocomplete 是否启用该表单元素的自动完成功能
  • autofocus 设置初始焦点元素
  • pattern 使用正则表达式(RegExp,后面会详细讲解)进行数据验证
  • list 使文本元素具有下拉功能,需要配合datalist和option标签一起使用
  • form 可以将表单元素写在form标签外面,然后通过该属性来关联到指定的表单
  • form重写属性,如formaction、frommethod等,可以重写form标签的属性

4. 多媒体相关

4.1 audio标签

​ 在页面中插入音频,不同浏览器对音频格式的支持不一样

​ audio标签常用属性:

  • src 音频文件的来源

  • autoplay 是否自动播放,默认不自动播放

  • controls 是否显示控制面板,默认不显示

  • loop 是否循环播放

  • muted 是否静音

  • preload 是否预加载,取值:none不预加载、auto预加载整个视频(默认)、metadata只预加载元数据

    如果设置了autoplay属性,则该属性无意义

​ 可以结合source标签使用,指定多个音频文件,浏览器会检测并使用第一个可用的音频文件

​ source标签常用属性:

  • src 音频文件的来源
  • type 音频文件的类型,如audio/mp3、audio/ogg等,可以省略

4.2 video标签

​ 在页面中插入视频,不同浏览器对视频格式的支持不一样

​ 用法与audio标签基本相同,增加属性:

  • width/height 视频播放器的尺寸
  • poster 在视频加载前显示的图片

猜你喜欢

转载自blog.51cto.com/12402007/2327773