HTML 基础学习笔记

自学 html 基础笔记。
Web 前端简单介绍
web 前端包含:
- pc 端页面
 - 移动端页面
 
web 前端首先要解决用户体验的问题
认识网页
网页的组成
网页主要由文字、图片和按钮等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及 Flash 等。
Web 标准
1:w3c 万维网联盟组织:用来制定 web 标准的机构(组织)
2:web 标准:制作网页要遵循的规范
3:web 标准规范的分类:结构标准;表现标准;行为标准
- 结构标准:html(用来制作网页的)
 - 表现标准:css(对网页进行美化的)
 - 行为标准:javascript(让网页动起来,具有生命力)
 
4:web 标准总结:
- 结构标准:相当于人的身体
 - 表现标准:相当于人的衣服
 - 行为标准:相当于人的动作
 
浏览器介绍
浏览器是网页运行的平台,常用的浏览器有 IE、火狐(Firefox)、谷歌(Chrome)、Safari 和 Opera 等。
浏览器内核:也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内 ,容以及页面的格式信息。
| IE | Google/Opera | FireFox | Safari | 
|---|---|---|---|
| trident | blink | gecko | webkit | 
浏览器与服务器
1:浏览器向服务器发送请求(通过http协议)
2:http协议:超文本传输协议,也就是浏览器和服务器端的网页传输数据的约束和规范
3:https:加密处理
4:url协议:平时我们写的网址就是 url 地址
url协议:规定 url 地址的格式
协议规定格式: scheme://host.domain:port/path/filename
scheme: 定义因特网服务的类型。常见的就是http
host: 定义域主机(http 的默认主机是www)
domain: 定义因特网域名 比如:w3school.com.cn
:port 定义端口号(网页默认端口 :80)
path: 网页所在服务器上的路径
filename: 文件名称
认识 html
概念
html (Hyper   Text    Markup   Language )   中文译为 超文本标记语言,主要是通过 html 标记对网页中的文本,图片,声音等内容进行描述。
HTML 之所以称为超文本标记语言,不仅是因为他通过标记描述网页内容,同时也由于文本中包含了所谓的 超级链接,通过超链接可以实现网页的跳转。从而构成了丰富多彩的 Web 页面。
html 结构
基本结构如下:
1  | <! Doctype html>  | 
各部分的含义:
1  | <!-- 文档类型 -->  | 
1  | <!-- 根标签 -->  | 
<html></html>用于告知浏览器其自身是一个 HTML 文档,</html>标记标志着 HTML 文档的开始,</html>标记标志着 HTML 文档的结束,在他们之间的是文档的头部和主体内容。
1  | <!-- <html lang="en"> 向搜索引擎表示该页面是html语言,并且语言为英文网站 -->  | 
这个主要是给搜索引擎看的,搜索引擎不会去判断该站点是中文站还是英文站,所以这句话就是让搜索引擎知道,你的站点是中文站,对 html 页面本身不会有影响。
1  | <!-- html文档头部分 -->  | 
主要用来封装其他位于文档头部的标记。一个 HTML 文档只能含有一对
<head>标记,绝大多数文档头部包含的数据都不会真正作为内容显示在页面中。
1  | <!-- 网页的标题 -->  | 
<title>标记用于定义HTML页面的标题,<title></title>之间的内容将显示在浏即给网页取一个名字,必须位于<head>标记之内。一个HTML文档只能含有一对<title></title>标记,将显示在浏览器窗口的标题栏中。
1  | <!-- html结构的主体部分 -->  | 
<body>标记用于定义 HTML 文档所要显示的内容,也称为主体标记。浏览器中显示的所有文本、图像、音频和视频等信息都必须位于<body>标记内,<body>标记中的信息才是最终展示给用户看的。
一个HTML文档只能含有一对<body>标记,且<body>标记必须在<html>标记内,位于<head>头部标记之后。
标签的分类
HTML 标记标签通常被称为 HTML 标签 (HTML tag)。
- HTML 标签是由尖括号包围的关键词,比如 
<html>; - HTML 标签通常是成对出现的,比如 
<b>和</b>; - 标签对中的第一个标签是开始标签,第二个标签是结束标签;
 - 开始和结束标签也被称为开放标签和闭合标签;
 
HTML标记—双标记
双标记也称体标记,是指由开始和结束两个标记符组成的标记。其基本语法格式如下:
1  | <标记名></标记名>  | 
该语法中 <标记名> 表示该标记的作用开始,一般称为 开始标记(start tag),</标记名> 表示该标记的作用结束,一般称为 结束标记(end tag)。和开始标记相比,结束标记只是在前面加了一个关闭符 /。
HTML标记—单标记
单标记也称空标记,只有开始标签没有结束标签:
1  | <标记名>  | 
标签关系
- 嵌套关系:类似父亲和儿子之间的关系
 
1  | <html>  | 
- 并列关系:类似与兄弟之间的关系
 
1  | <head></head>  | 
html 标签介绍
单标签
文本注释标签
1  | <!-- 文本注释标签 Ctrl+/ -->  | 
文本换行标签
1  | 你好<br>我来自中国  | 
效果演示:
你好
我来自中国
横线标签
1  | <hr>  | 
效果演示:
双标签
段落标签
1  | <p>这是一行文字</p>  | 
效果演示:
这是一行文字
这也是一行文字
标题标签
注意:标题标签只能取到数字 1-6
1  | <h1>这是一个标题1</h1>  | 
文本标签
1  | <font></font>  | 
例如:
1  | <font size="10" color="red">优美的文字</font>  | 
效果演示:
优美的文字 
文本格式化标签
文字加粗显示
1  | <strong>该减肥了!</strong>  | 
效果演示:
该减肥了!
文字斜体
1  | <em>这行字是斜的</em>  | 
效果演示:
这行字是斜的
文字下横线
1  | <ins>文字下横线</ins>  | 
效果演示:
文字下横线
文字下横线
文字删除线
1  | <del>删除线</del>  | 
效果演示:删除线删除线
图片标签
1  | <img>  | 
| 属性 | 描述 | 
|---|---|
| src | 设置显示图片(图片名称或者图片路径) | 
| title | 用来设置鼠标放在图片上显示的文字 | 
| alt | 当图片无法正常显示的时候,对图片的描述 | 
| width | 用来设置图片宽度 | 
| height | 用来设置图片的高度 | 
1  | <!-- 下图来自百度图片 -->  | 
效果演示:
相对路径
- 当图片和文件(html)在同一个文件夹中时,src 属性中直接写上图片名称即可。
 
1  | <img src="1.jpg">  | 
- 当图片在文件(html)的下一级目录中时,src 属性中写上图片所在的文件夹名 +“/” + 图片名称
 
1  | <img src="1/1.jpg">  | 
- 当图片在文件(html)的上一级目录中时,src 属性中写上 ../图片所在文件夹名 + “/” + 图片名称
 
1  | <img src="../2/1.jpg">  | 
绝对路径
凡是带有 磁盘路径 的都是绝对路径,或者带有 网站地址 的也是绝对路径。
1  | <img src="D:\a\1.png">  | 
超链接
在HTML中创建超链接非常简单,只需用 <a></a> 标记环绕需要被链接的对象即可,其基本语法格式如下:
1  | <a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>  | 
| 属性 | 描述 | 
|---|---|
| href | 用于指定链接目标的 url 地址,当为 <a> 标记应用 href 属性时,它就具有了超链接的功能。 | 
| target | 用于指定链接页面的打开方式,其取值有 _self 和 _blank 两种,其中 _self 为默认值, _blank 为在新窗口中打开方式。 | 
在 <head> 标签中使用 <base> 标签可以设置网页整体链接的打开状态。 | 
1  | <head>  | 
实例:
1  | <a href="http://www.baidu.com" target="_blank">百度</a>  | 
效果演示:
百度
Kai’s Blog
注意:
(1)暂时没有确定链接目标时,通常将
<a>标记的 href 属性值定义为“#”(即href="#"),表示该链接暂时为一个空链接。(2)不仅可以创建文本超链接,在网页中各种网页元素,如
图像、表格、音频、视频等都可以添加超链接。
锚链接
通过创建锚点链接,用户能够快速定位到目标内容。
创建锚点链接分为两步:
- 使用 “ 
<a href="#id名">链接文本</a>” 创建链接文本; - 使用相应的 id 名标注跳转目标的位置。
 
1  | <!-- 例如在网页顶部写个你好 -->  | 
效果演示:
你好
返回顶部特殊字符
| 特殊字符 | 描述 | 字符的代码 | 
|---|---|---|
| 空格符 |   | 
|
| < | 小于号 | < | 
| > | 大于号 | > | 
| & | 和号 | & | 
| ¥ | 人民币 | ¥ | 
| © | 版权 | © | 
| ® | 注册商标 | ® | 
| ° | 摄氏度 | ° | 
| ± | 正负号 | ± | 
| × | 乘号 | × | 
| ÷ | 除号 | ÷ | 
| ² | 平方(上标2) | ² | 
| ³ | 立方(上标3) | ³ | 
列表
无序列表(ul)
1  | <ul>  | 
例如:
1  | 大家喜欢吃什么水果  | 
效果演示:
大家喜欢吃什么水果
- 苹果
 - 香蕉
 - 菠萝
 
属性:type
(默认值)实心圆点:disc
实心方块:square
空心圆圈:circle
实例:
1  | <ul>  | 
有序列表(ol)
1  | <ol>  | 
属性:type
A(ABCD排序),a(abcd排序),i(小写的罗马数字),I(大写的罗马数字)
属性:start=”3”,表示从第几个数开始
1  | 把大象放冰箱分几步?  | 
效果演示:
把大象放冰箱分几步?
- 打开冰箱门
 - 把大象放进去
 - 关上冰箱门
 
自定义列表(dl)
自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。其基本语法如下:
1  | <dl>  | 
一般用于网页的底部,例如:
1  | <!-- 自定义列表 -->  | 
效果演示:
- 售后服务
 - 收货地址
 - 在线支付
 - 联系客服
 
小补充
页面背景音乐
1  | <embed src="1.mp3" hidden="true">  | 
属性:
- src:设置音乐路径
 - hidden:隐藏播放按钮,true 隐藏,false 显示
 
页面滚动效果
1  | <!-- 中间的内容可以为 文字、图片,也可以是由程序生成的文字或图片 -->  | 
实例展示:
1  | <marquee bgcolor="blue" >我会滚动</marquee>  | 
效果演示:
| 属性 | 描述 | 
|---|---|
| height | 设置高度 | 
| width | 设置宽度 | 
| bgcolor | 设置背景颜色 | 
| behavior | 设定滚动的方式: alternate:表示在两端之间来回滚动; scroll:表示由一端滚动到另一端,会重复; slide:表示由一端滚动到另一端,不会重复。  | 
| direction | 设定滚动的时间: down:向下滚动; left:向左滚动; right:向右滚动; up:向上滚动。  | 
| loop | 设置滚动次数,-1 表示一直滚下去 | 
Meta标签和Link标签
Meta 标签
meta 的属性有两种:name 和 http-equiv。
name 属性
主要用于描述网页,对应于 content(网页内容)。
- 1、用来说明网页使用的字符集,即编码格式
 
1  | <meta charset="utf-8">  | 
- 2、用以说明生成工具(如Microsoft FrontPage 4.0)等;
 
1  | <meta name="generator" contect="">  | 
- 3、向搜索引擎说明你的网页的关键词;
 
1  | <meta name="keywords" contect="">  | 
- 4、告诉搜索引擎你的站点的主要内容;
 
1  | <meta name="description" contect="">  | 
- 5、告诉搜索引擎你的站点的制作的作者;
 
1  | <meta name="author" contect="你的姓名">  | 
- 6、有时候会有一些站点内容,不希望被ROBOTS抓取而公开。为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是 
The Robots META标签。 
1  | <meta name="robots" contect= "all|none|index|noindex|follow|nofollow">  | 
robots其中的属性说明如下:设定为
all:文件将被检索,且页面上的链接可以被查询;设定为
none:文件将不被检索,且页面上的链接不可以被查询;设定为
index:文件将被检索;设定为
follow:页面上的链接可以被查询;设定为
noindex:文件将不被检索,但页面上的链接可以被查询;设定为
nofollow`:文件将不被检索,页面上的链接可以被查询。
http-equiv 属性
1  | <meta http-equiv="refresh" content="5;url=http://www.baidu.com" />  | 
- 网页重定向,表示的是 
5秒后网页自动跳转到指定网址。 
Link 标签
1  | <link rel="icon" href="favicon.ico">  | 
给网页 titile 中放置小图标
1  | <link rel="stylesheet" href="1.css">  | 
引入外部样式表
表格(table)
表格基本结构
在 HTML 语言中,表格至少由 <TABLE> 标签、<TR> 标签和 <TD> 标签这 3 对标签组成。
1.<table><table>...</table> 标签用于在HTML文档中创建表格。它包含表名和表格本身内容的代码。表格的基本单元是单元格,用 <td>...</td> 标签定义。
2.<tr>
表格行用 <tr> 标签定义,由单元格构成。多个行结合在一起就构成一个表格,这反映在用于创建表格的HTML语法中。表格的每一行都用 <tr> 标签表示,并用相应的 </tr> 结束.
3.<td>
表格的每一行又有若干表格单元格,用 <td>...</td> 标签表示。td 是”表格数据(Table Data)”的英文缩写。<td> 标签定义一个列,嵌套于 <tr> 标签内。
border 属性是最常用的属性,可用于定义表格的单元格和结构。该属性指定边框的厚度,如果其值设置为零(0),则不显示边框。
基本语法:
1  | <table>  | 
属性介绍:
- bord:设置表格边框的厚度
 - width:设置表格宽度
 - height:设置表格高度
 - cellspacing:设置单元格之间的距离
 - cellpadding:文字距离单元格边框的距离
 - bgcolor=”red”:设置背景颜色
 - align=”center” | left | right:给 tr 或者 td 设置让文字居中,给 table 设置让表格居中
 
| 属性名 | 含义 | 常用属性值 | 
|---|---|---|
| border | 设置边框,默认为0,没有边框 | 单位为 px 像素值 | 
| cellspacing | 设置单元格与单元格之间的距离 | 单位为 px 像素值,默认为 2px | 
| cellpadding | 设置文字与单元格之间的距离 | 默认 1px | 
| width | 设置表格的宽度 | 单位 px | 
| height | 设置表格的高度 | 单位 px | 
| align | 设置表格在网页中的对其方式 | left 左 rigth 右 center 居中  | 
| bgcolor | 设置背景颜色 | white,red,green等 | 
设置表格表头,用法和 td 一样
表头一般位于表格的第一行或第一列,其文本加粗居中。
1  | <table>  | 
效果演示:
| 姓名 | 年龄 | 职业 | 籍贯 | 
|---|---|---|---|
| 小明 | 18 | 码农 | 江苏 | 
表格属性设置示例:
1  | <table border="1" width="200" height="300" cellspacing="0" cellpadding="20" bgcolor="red">  | 
效果演示:(本应整个表格都是 bgcolor 的,这里显示有问题)
| 姓名 | 年龄 | 职业 | 籍贯 | 
|---|---|---|---|
| 小明 | 18 | 码农 | 江苏 | 
设置表格标题:
caption 标签必须紧随 table 标签之后。只能对每个表格定义一个标题。通常这个标题会被居中于表格之上。
1  | <table>  | 
效果演示:
| 姓名 | 年龄 | 职业 | 籍贯 | 
|---|---|---|---|
| 小明 | 18 | 码农 | 江苏 | 
表格结构
1  | <table>  | 
在使用表格进行布局时,可以将表格划分为头部、主体和页脚,具体如下所示:
<thead></thead>:用于定义表格的头部,必须位于<table></table>标记中,一般包含网页的logo和导航等头部信息。<tbody></tbody>:用于定义表格的主体,位于<table></table>标记中<thead></thead>标记之后,一般包含网页中除头部和底部之外的其他内容。<tfoot></tfoot>:用于定义表格的页脚,位于<table></table>标记中<tbody></tbody>标记之后,一般包含网页底部的企业信息等。
补充知识:单元格的合并
横向合并
1  | <tr>  | 
实例展示:
1  | <!-- 实例展示 -->  | 
效果演示:
| 姓名 | 年龄 | 籍贯 | |
|---|---|---|---|
| 小明 | 18 | 码农 | 江苏 | 
纵向合并
1  | <tr>  | 
实例展示:
1  | <!-- 实例展示 -->  | 
效果演示:
| 姓名 | 年龄 | 职业 | 籍贯 | 
|---|---|---|---|
| 小明 | 18 | 程序猿 | 江苏 | 
| 小白 | 21 | 北京 | 
表单(form)
表单介绍
表单的作用:主要负责数据采集功能。
对于表单构成中的表单控件、提示信息和表单域,对他们的具体解释如下:
- 表单控件:包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
 - 提示信息:一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
 - 表单域:他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
 
基本语法:
1  | <form name="form_name" action="url" method="get|post">…</form>  | 
属性介绍:
- Name :定义表单的名称;
 - Action :用来指定表单处理程序的位置(服务器端脚本处理程序);
 - Method: 定义表单结果从浏览器传送到服务器的方式,默认参数为:get。
 
get数据提交:① 通过地址栏的方式进行数据提交,将用户输入的信息显出来;② get提交安全性差。
post提交:① 数据通过后台进行提交,不会将用户信息显示出来;② 安全性比较好。
表单域
1  | <form action="">  | 
容纳表单空间和提示信息的一个区域。
表单控件
input 控件
语法:
1  | <input type=“控件类型”>  | 
在上面的语法中,<input> 标记为单标记,type属性为其最基本的属性,其取值有多种,用于指定不同的控件类型。除了type属性之外,<input> 标记还可以定义很多其他的属性,其常用属性如下表所示。
| 属性 | 属性值 | 描述 | 
|---|---|---|
| type | text password radio checkbox button submit reset image hidden file  | 
单行文本输入框 密码输入框 单选按钮 复选框 普通按钮 提交按钮 重置按钮 图像形式的提交按钮 隐藏域 文件域  | 
| name | 由用户自定义 | 控件的名称 | 
| value | 由用户自定义 | input 控件中的默认文本值 | 
| size | 正整数 | input 控件在页面中的显示宽度 | 
| readonly | readonly | 该控件内容为只读(不能编辑修改) | 
| disabled | disabled | 第一次加载页面时禁用该控件(显示为灰色) | 
文本输入框
1  | <!-- 文本输入框 -->  | 
效果演示:
用户名:
属性:
- maxlength:设置文本输入框最多能输多少字符
 - readonly=”readonly”:设置文本输入框为只读(不能编辑)
 - disabled+”disabled”:控件属于非激活状态
 - name=”username”:给输入框设置名称
 - value:设置默认显示的值
 
密码输入框
1  | <!-- 密码输入框 -->  | 
效果演示:
密码:
属性用法与文本输入框的用法一样。
单选按钮
1  | <!-- 单选按钮 -->  | 
效果演示:
性别:男  女
注意:实现单选效果一定要给控件设置相同的名称
属性:
- checked=”checked”:设置默认选中项
 
多选控件
1  | 兴趣爱好:  | 
效果演示:
兴趣爱好:抽烟喝酒烫头
属性:
- checked=”checked”:设置默认选中项
 
图片上传控件
1  | 头像:  | 
效果演示:
头像:
表单提交按钮
1  | <!-- 表单提交按钮 -->  | 
效果演示:
普通按钮
1  | <!-- 普通按钮 -->  | 
效果演示:
注意:该按钮不能进行表单提交。通常和 js 代码配合使用。
重置按钮
清空所有表单数据,恢复到初始状态
1  | <!-- 重置按钮 -->  | 
效果演示:
图片按钮
1  | <!-- 图片按钮 -->  | 
注意:该控件也可以进行表单的提交。
select 控件
在 HTML 中,要想制作下拉菜单,就需要使用select控件。
下拉列表
1  | 出生地:  | 
效果演示:
出生地:省:
属性:
- selected=”selected”:设置默认选中项
 - multiple=”multiple”:可以实现多选效果
 
下拉列表分组显示
1  | 市(区):  | 
效果演示:
市(区):
textarea 控件
如果需要输入大量的信息,就需要用到 <textarea></textarea> 标记。通过 textarea 控件可以轻松地创建多行文本输入框,其基本语法格式如下:
1  | <textarea cols="每行中的字符数" rows="显示的行数">  | 
属性:
- cols:相当于宽度
 - rows:相当于高度
 
1  | 自我介绍:  | 
效果演示:
自我介绍:
组合表单
fieldset 用于表单分组。
语法:
1  | <fieldset>  | 
举例:
1  | <fieldset>  | 
效果演示:
表单补充
判断网址
1  | <!-- 判断网址 -->  | 
效果演示:
判断邮箱
1  | <!-- 判断邮箱 -->  | 
效果演示:
日期控件
1  | <!-- 日期控件 -->  | 
效果演示:
时间控件
1  | <!-- 时间控件 -->  | 
效果演示:
带有 spinner 控件的数字字段
1  | <!-- 带有 spinner 控件的数字字段 -->  | 
属性:
- step:表示每次加减的值(即步长)
 
效果演示:
带有 slider 控件的数字字段
1  | <!-- 带有 slider 控件的数字字段 -->  | 
属性:
- max:最大值
 - min:最小值
 - step:每次加减的值(即步长)
 
效果演示:
定义拾色器
1  | <!-- 定义拾色器 -->  | 
效果演示:
标签语义化
- 标签语义化概念:
 
根据内容的结构化(内容语义化),选择合适的标签(代码语义化)
- 标签语义化意义:
 
1: 网页结构合理
2: 有利于 SEO :和搜索引擎建立良好沟通,有了良好的结构和语义你的网页内容自然容易被搜索引擎抓取;
3: 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备);
4: 便于团队开发和维护.
- 标签语义化(注意事项)
 
1:尽可能少的使用无语义的标签 div 和 span ;
2:在语义不明显时,既可以使用 div 或者 p 时,尽量用 p, 因为 p 在默认情况下有上下间距,对兼容特殊终端有利;
3:不要使用纯样式标签,如:b、font、u 等,改用 css 设置。
4:需要强调的文本,可以包含在 strong 或者 em 标签中。strong 默认样式是加粗(不要用b),em 是斜体(不用 i );
总结
我的 html 基础学习是跟着传智播客2016年的视频课程学习的,基础就这些内容,特别整理下来以加深记忆。内容或多或少会与网络上的内容有些许出入。总的来说 html 很简单,很容易上手。但这只是基础,html + css + javascript 才能做出真正漂亮的网页。
千里之行,始于足下,接下来的路,加油!