HTML5基础知识
HTML5基础知识
欢迎查看我的博客:逸乐的博客
认识WEB
「网页」 主要是由文字、图像和超链接等元素构成,当然除了这些元素,网页中还可以包括音频、视频以及Flash等。
「浏览器」 是网页显示、运行的平台。
「浏览器内核」(排版引擎、解释引擎、渲染引擎)
负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
| 浏览器 | 内核 | 备注 |
|---|---|---|
| IE | Trident | IE、猎豹安全、360极速浏览器、百度浏览器 |
| firefox | Gecko | 可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。 |
| Safari | webkit | 现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。苹果感觉像被别人抢了媳妇,都哭晕在厕所里面了。 |
| chrome | Chromium/Blink | 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核。二次开发 |
| Opera | blink | 现在跟随chrome用blink内核。 |
Web标准
「构成」 👉 结构标准,表现标准和行为标准
- 结构标准用于对网页元素进行整理和分类(HTML)
- 表现标准用于设置网页元素的版式、颜色、大小等外观属性(CSS)
- 行为标准用于对网页模型的定义及交互的编写(JavaScript)
「Web标准的优点」👇
- 易于维护:只需更改CSS文件,就可以改变整站的样式
- 页面响应快:HTML文档体积变小,响应时间短
- 可访问性:语义化的HTML(结构和表现相分离的HTML)编写的网页文件,更容易被屏幕阅读器识别
- 设备兼容性:不同的样式表可以让网页在不同的设备上呈现不同的样式
- 搜索引擎:语义化的HTML能更容易被搜索引擎解析,提升排名
HTML初识
HTML初识
- 「HTML」(Hyper Text Markup Language):超文本标记语言
「所谓超文本,有2层含义:」
1.因为它可以加入图片、声音、动画、多媒体等内容(超越文本限制 )
2.不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
HTML格式
1 | <!-- 页面中最大的标签 根标签 --> |
<!DOCTYPE html>声明为 HTML5 文档<html>元素是 HTML 页面的根元素<head>元素包含了文档的元(meta)数据,如<meta charset="utf-8">定义网页编码格式为 utf-8。<title>元素描述了文档的标题<body>元素包含了可见的页面内容<p>元素定义一个段落
注:在浏览器的页面上使用键盘上的 F12 按键开启调试模式,就可以看到组成标签。
HTML编辑器
- VS Code:https://code.visualstudio.com/ (使用中)
- Sublime Text:http://www.sublimetext.com/
VS Code编辑器常用插件
1.VS Code 改成中文版:
首先点击扩展(也就是四个小方格),在搜索栏内输入 Chinese。
点击 install ,下载安装简体中文,在右下方会出现 restart 点击就好。
再重启 vs 后就会变成简体中文。2.Auto Close Tag
(自动闭合HTML/XML标签)3.Auto Rename Tag
(自动完成另一侧标签的同步修改)4.Bracket Pair Colorizer
(给括号加上不同的颜色,便于区分不同的区块,使用者可以定义不同括号类型和不同颜色)5.markdownlint
(markdown语法纠错)6.One Dark Pro
(设置主题颜色)7.open in browser
(vscode不像IDE一样能够直接在浏览器中打开html,而该插件支持快捷键与鼠标右键快速在浏览器中打开html文件,支持自定义打开指定的浏览器,包括:Firefox,Chrome,Opera,IE以及Safari)8.vscode-icons
(设置文件图标主题)
HTML常见元素
1. 标题元素(块级元素)
HTML 标题(Heading)是通过<h1>~<h6>标签来定义的。
1 | <h1>这是标题 1</h1> |
2. 段落元(块级元素)
HTML 段落是通过标签 <p> 来定义的。
1 | <p>这是一个段落。</p> |
3. 链接a元素(行内元素)
HTML 链接是通过标签 <a> 来定义的。
1 | <a href="https://www.runoob.com target=“_self">这是一个链接使用了 href 属性</a> |
| 属性 | 作用 |
|---|---|
| href | 用于指定链接目标的url地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能 |
| target | 用于指定链接页面的打开方式,其取值有_self和_blank两种,其中_self为默认值,_blank为在新窗口中打开方式。 |
4. img元素(内联元素)
HTML 图像是通过标签 <img> 来定义的.
1 | <img src="/images/logo.png" width="258" height="39" /> |
img属性标记:
| 属性 | 属性值 | 描述 |
|---|---|---|
| src | URL | 图像的路径 |
| alt | 文本 | 图像不能显示时的替换文本 |
| title | 文本 | 鼠标悬停时显示的内容 |
| width | 像素 | 设置图像的宽度 |
| height | 像素 | 设置图像的高度 |
| border | 数字 | 设置图像边框的高度 |
5. ol ul dl 列表
(1)ul无序列表元素(块级元素)
HTML ul无序列表通过<li> 来定义的.
1 | <ul> |
(2)ol有序列表元素(块级元素)
HTML ol有序列表通过<li> 来定义的.
1 | <ol> |
(3) dl自定义列表元素(块级元素)
HTML dl自定义列表通过<dt> <dd> 来定义的.
1 | <dl> |
6. div元素(块级元素)和span元素(内联元素)
<div>标签本身没有语义,仅起到分割区域的作用。<span>元素没有语义,存在的意义在于它提供了一种将文本的一部分独立出来的方式。
1 | <div>盒子标签</div> |
7.table元素(块级元素)
table、tr、td,他们是创建表格的基本标签,缺一不可
- table用于定义一个表格标签。
- tr标签 用于定义表格中的行,必须嵌套在 table标签中。
- td 用于定义表格中的单元格,必须嵌套在
<tr></tr>标签中。 - th 用于定义表格中的表头,必须嵌套在
<tr></tr>标签中。1
2
3
4
5
6<table>
<tr>
<td>单元格里的文字</td>
...
</tr>
</table>
表格标题caption通常这个标题会被居中且显示于表格之上。caption 标签必须紧随 table 标签之后。这个标签只存在 表格里面才有意义。
1 | <table> |
表格属性:
| 属性名 | 含义 | 属性值 |
|---|---|---|
| border | 设置表格的边框 | 像素值 |
| cellspacing | 设置单元格与单元格边框之间的空白间隙 | 像素值(默认2像素) |
| cellpadding | 设置单元格内容与单元格边框之间的空白间隙 | 像素值(默认1像素) |
| width | 设置表格宽度 | 像素值 |
| height | 设置表格高度 | 像素值 |
| align | 设置表格在网页中的水平对齐方式 | left,center,right |
注:三参为0,平时开发的我们这三个参数 border cellpadding cellspacing 为 0
合并单元格合并的顺序我们按照 先上 后下 先左 后右 的顺序 ,合并完之后需要删除多余的单元格。
- 跨行合并:rowspan=”合并单元格的个数”
- 跨列合并:colspan=”合并单元格的个数”
表格总结:
| 标签名 | 定义 | 说明 |
|---|---|---|
<table></table> |
表格标签 | 就是一个四方的盒子 |
<tr></tr> |
表格行标签 | 行标签要再table标签内部才有意义 |
<td><td> |
单元格标签 | 单元格标签是个容器级元素,可以放任何东西 |
<caption></caption> |
表头单元格标签 | 它还是一个单元格,但是里面的文字会居中且加粗 |
<th></th> |
表格标题标签 | 表格的标题,跟着表格一起走,和表格居中对齐 |
| clospan和rowspan | 合并属性 | 用来合并单元格的 |
注意:
1.<thead></thead>:用于定义表格的头部。用来放标题之类的东西。<thead> 内部必须拥有<tr> 标签!
2. <tbody></tbody>:用于定义表格的主体。放数据本体 。
3. <tfoot></tfoot>放表格的脚注之类。
4. 以上标签都是放到table标签中。
8.form表单
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。表单目的是为了收集用户信息。
input控件:
1 | <input type="属性值" value="你好"> |
属性值:
| 属性 | 属性值 | 描述 |
|---|---|---|
| text | 单行文本输入框 | |
| password | 密码输入框 | |
| radio | 单选按钮 | |
| type | checkbox | 复选框 |
| button | 普通按钮 | |
| submit | 提交按钮 | |
| reset | 重置按钮 | |
| image | 图像形式的提交按钮 | |
| file | 文件域 |
input属性小结:
| 属性 | 说明 | 作用 |
|---|---|---|
| type | 表单类型 | 用来指定不同的控件类型 |
| value | 表单值 | 表单里面默认显示的文本 |
| name | 表单名字 | 页面中的表单很多,name主要作用就是用于区别不同的表单。 |
| checked | 默认选中 | 表示那个单选或者复选按钮一开始就被选中了 |
label标签
- label 标签为 input 元素定义标注(标签)。
- label标签主要目的是为了提高用户体验。为用户提高最优秀的服务。
作用:用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点。
如何绑定元素呢
- 第一种用法就是用label标签直接包含input表单, 适合单个表单选择
- 第二种用法 for 属性规定 label 与哪个表单元素绑定(通过id)。
1
2
3
4
5
6
7第一种
<label> 用户名:
<input type="radio" name="usename" value="请输入用户名">
</label>
第二种
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
textarea控件(文本域)
- 通过textarea控件可以轻松地创建多行文本输入框.
- cols=”每行中的字符数” rows=”显示的行数” 我们实际开发不用
1
2
3<textarea >
文本内容
</textarea>
select下拉列表
- 如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表。
- 在option 中定义selected =” selected “时,当前项即为默认选中项。
- 我们实际开发会用的比较少
1
2
3
4
5
6<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
form表单域
- 收集的用户信息怎么传递给服务器?
通过form表单域 - 目的:
在HTML中,form标签被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。1
2
3<form action="url地址" method="提交方式" name="表单名称">
各种表单控件
</form>
常用属性:
- 每个表单都应该有自己表单域。后面学 ajax 后台交互的时候,必须需要form表单域。
| 属性 | 属性值 | 作用 |
|---|---|---|
| action | url地址 | 用于指定接收并处理表单数据的服务器程序的url地址。 |
| method | get/post | 用于设置表单数据的提交方式,其取值为get或post。 |
| name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单。 |
GET 和 POST 的区别
- GET在浏览器回退时是无害的,而POST会再次提交请求。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求大小一般是(1024字节),http协议并没有限制,而与服务器,操作系统有关,POST理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
HTML 元素语法:
1.HTML 元素以开始标签起始
2.HTML 元素以结束标签终止
3.元素的内容是开始标签与结束标签之间的内容
4.某些 HTML 元素具有空内容(empty content)
5.空元素在开始标签中进行关闭(以开始标签的结束而结束)
6.大多数 HTML 元素可拥有属性





