文章目录
1. 重点提炼
- 【了解】什么是HTML5
- 【理解】HTML5新标签
- 【记忆】HTML5新增表单元素属性
2. 什么是 HTML5
2.1 HTML版本
2.2 html5简介
万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML
)的第五次重大修改。用于取代HTML4
与XHTML
的新一代标准版本,所以叫HTML5
。作为新的html
语言,具有新的元素,属性和行为。
XHTML 可扩展超文本标记语言
XHTML
是一种增强了的HTML
,它的可扩展性和灵活 性将适应未来网络应用更多的需求 。
HTML5
HTML5
的设计目的是为了在移动设备上支持多媒体,有更大的技术集,允许更多样化和强大的网站和应用程序。
增加了新特性:语义特性,本地存储特性,设备兼容特 性,连接特性,网页多媒体特性,三维、图形及特效特 性,性能与集成特性,CSS3
特性。
废弃一些元素和属性比如 font
、center
等…
2.3 HTML5
的概念与定义
- 定义:
HTML5
定义了HTML
标准的最新版本,是对HTML
的第五次重大修改,号称下一代的HTML
- 两个概念:
- 是一个新版本的
HTML
语言,定义了新的标签、特性和属性 - 拥有一个强大的技术集,这些技术集是指:
HTML5
、CSS3
、javascript
, 这也是广义上的HTML5
- 是一个新版本的
2.4 HTML5
拓展了哪些内容
- 语义化标签
- 本地存储
- 兼容特性
2D
、3D
- 动画、过渡
CSS3
特性- 性能与集成
2.5 HTML5
的现状
绝对多数新的属性,都已经被浏览器所支持,最新版本的浏览器已经开始陆续支持最新的特性,
总的来说:HTML5
已经是大势所趋
2.6 优势与劣势
HTML5 优势
提高可用性和改进用户的友好体验
更好的语义化标签
可以给站点带来更多的多媒体元素(视频和音频)
可以很好的替代FLASH
和Silverlight
当涉及到网站的抓取和索引的时候,对于SEO
很友好;
将被大量应用于移动应用程序和游戏
可移植性好
HTML5 劣势
该标准并未能很好的被PC
端浏览器所支持
2.7 HTML5前景趋势
- 移动优先
- 游戏开发者领衔“主演”
2.8 广义的HTML5
- 广义的
HTML5
是HTML5
本身 +CSS3
+JavaScript
HTML5
MDN
介绍: https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML
2.9 小结
HTML5
就是HTML 版本的第五次重大修改,目的为了适用移动端的发展- 版本:
HTML4
–XHTML
–HTML5
- 简单了解
HTML5
的优缺点 HTML5
前景移动端优先- 广义的
HTML5
是HTML5本身
+CSS3
+JavaScript
3. HTML5
新增标签
3.1 什么是语义化
以前布局,我们基本用div
来做。 div
对于搜索引擎来说,是没有语义的。
<div class=“header”> </div>
<div class=“nav”> </div>
<div class=“content”> </div>
<div class=“footer”> </div>
3.2 新增了那些语义化标签
header
— 头部标签nav
— 导航标签article
— 内容标签section
— 块级标签aside
— 侧边栏标签footer
— 尾部标签
主要目的是帮助搜索引擎更快抓取信息。
3.2.1 example01
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
header,
nav,
section {
display: block;
height: 120px;
background-color: pink;
margin: 10px;
}
</style>
</head>
<body>
<header> header</header>
<header> header</header>
<nav> nav </nav>
<section></section>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.08
Branch: branch04
commit description:a2.08(example01—— HTML5新增语义标签)tag:a2.08
3.3 使用语义化标签的注意
- 语义化标签主要针对搜索引擎
- 新标签可以使用一次或者多次
- 在
IE9
浏览器中,需要把语义化标签都转换为块级元素 - 语义化标签,在移动端支持比较友好,
- 另外,
HTML5
新增的了很多的语义化标签,随着课程深入,还会学习到其他的
4. 多媒体音频标签重点提炼
-
多媒体标签有两个,分别是
- 音频 –
audio
- 视频 –
video
- 音频 –
-
audio
标签说明- 可以在不使用标签的情况下,也能够原生的支持音频格式文件的播放,
- 但是:播放格式是有限的
-
audio 支持的音频格式
- audio 目前支持三种格式
-
audio 的参数
5. 多媒体视频标签
多媒体标签包含两个,具体如下:
- 音频:<audio>
- 视频:<video>
使用它们可以很方便的在页面中嵌入音频和视频,而不再去使用落后的 flash 和其他浏览器插件
5.1 audio音频标签
HTML5 在不使用插件的情况下也可以原生的支持音频格式文件的播放,当然支持格式是有限的。
5.1.1 音频格式
当前,<audio>元素支持三种音频格式:
格式 | IE9 | Firefox3.5 | Opera10.5 | Chrome3.0 | Safari3.0 |
---|---|---|---|---|---|
Ogg Vorbis | ✔️ | ✔️ | ✔️ | ||
MP3 | ✔️ | ✔️ | ✔️ | ||
Wav | ✔️ | ✔️ | ✔️ |
5.1.2 <audio> 音频标签语法格式
<audio src="文件地址" controls="controls"></audio>
< audio controls="controls" >
<source src="happy.mp3" type="audio/mpeg" >
<source src="happy.ogg" type="audio/ogg" >
您的浏览器暂不支持audio标签。
</ audio>
5.1.3 <audio> 音频标签常见属性
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 如果出现该属性,则音频在就绪后马上播放。(谷歌浏览器把该属性禁了) |
controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
loop | loop | 如果出现该属性,则每当音频结束时重新开始播放。(循环播放) |
preload | preload | 如果出现该属性,则音频在页面加载时进行加载,并预备播放。 如果使用 “autoplay”,则忽略该属性。 |
src | url | 要播放的音频的 URL。 |
5.1.4 example02
5.1.4.1 example02-1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<audio src="media/snow.mp3" controls="controls"></audio>
</body>
</html>
直接播放就可以听到音乐了。
但是它的重大缺陷大家也可以看到,就是不同浏览器,播放风格不统一。
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.09
Branch: branch04
commit description:a2.09(example02-1——audio标签的基本使用)tag:a2.09
5.1.4.2 example02-2
因为不同浏览器支持不同格式,我们采取的解决方案是我们为这个音频准备多个格式。
准备多个来源。 => 浏览器如果不兼容第一个source,就会去找第二个,有点类似if逻辑判断。
<audio controls="controls">
<source src="media/snow.mp3" type="audio/mpeg" />
<source src="media/snow.ogg" type="audio/ogg" />
您的浏览器不支持播放声音
</audio>
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.10
Branch: branch04
commit description:a2.10(example02-2——audio标签兼容使用)tag:a2.10
5.2 video 视频标签
- 目前支持三种格式(基本准备mp4和ogg,大部分浏览器均是支持的)
格式 | IE | Firefox | Opera | Chrome | Safari |
---|---|---|---|---|---|
Ogg | No | 3.5+ | 10.5+ | 5.0+ | No |
MPEG 4 | 9.0+ | No | No | 5.0+ | 3.0+ |
WebM | No | 4.0+ | 10.6+ | 6.0+ | No |
5.2.1 <video> 视频标签语法格式
<video src="文件地址" controls="controls"></video>
< video controls="controls" width="300">
<source src="move.ogg" type="video/ogg" >
<source src="move.mp4" type="video/mp4" >
您的浏览器暂不支持video标签。播放视频
</ video >
5.2.2 <video> 视频标签常见属性
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 视频就绪自动播放(谷歌浏览器需要添加muted来解决自动播放问题) |
controls | controls | 向用户显示播放控件 |
width | pixels(像素) | 设置播放器宽度 |
height | pixels(像素) | 设置播放器高度 |
loop | loop | 播放完是否继续播放该视频,循环播放 |
preload | auto(预先加载视频)none(不应加载视频) | 规定是否预加载视频(如果有了autoplay 就忽略该属性) |
src | url | 视频url地址 |
poster | Imgurl | 加载等待的画面图片 |
muted | muted | 静音播放 |
5.2.3 video 代码演示
<body>
<!-- <video src="./media/video.mp4" controls="controls"></video> -->
<!-- 谷歌浏览器禁用了自动播放功能,如果想自动播放,需要添加 muted 属性 -->
<video controls="controls" autoplay muted loop poster="./media/pig.jpg">
<source src="./media/video.mp4" type="video/mp4">
<source src="./media/video.ogg" type="video/ogg">
</video>
</body>
5.2.4 example03
5.2.4.1 example03-1
一般视频会非常大且清晰度高,这样缩小之后不至于模糊。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
video {
width: 300px;
}
</style>
</head>
<body>
<video src="media/video.mp4" controls="controls"></video>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.11
Branch: branch04
commit description:a2.11(example03-1——video标签使用)tag:a2.11
5.2.4.2 example03-2
因为不同浏览器,播放控件的样式都不一样,所以有的时候是不需要,而是自动播放的。
谷歌浏览器把自动播放功能给禁用了(其他浏览器不禁用)
有解决方案: 给视频添加静音属性,同时设置循环播放,并设置兼容性
<video autoplay muted="muted" loop="loop">
<video autoplay muted="muted" loop="loop">
<source src="media/video.mp4" type="video/mp4" />
<source src="media/video.ogg" type="video/ogg" />
您的浏览器太low了,不支持播放此视频
</video>
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.12
Branch: branch04
commit description:a2.12(example03-2——video标签使用,给视频添加静音属性,同时设置循环播放,并设置兼容性)tag:a2.12
5.2.4.3 example03-3
可以设置播放加载等待的画面图片
<video muted="muted" loop="loop" poster="media/pig.jpg" controls>
<source src="media/video.mp4" type="video/mp4" />
<source src="media/video.ogg" type="video/ogg" />
您的浏览器太low了,不支持播放此视频
</video>
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.13
Branch: branch04
commit description:a2.13(example03-3——video标签使用,设置播放加载等待的画面图片)tag:a2.13
5.3 总结
- 音频标签与视频标签使用基本一致
- 多媒体标签在不同浏览器下情况不同,存在兼容性问题
- 谷歌浏览器把音频和视频标签的自动播放都禁止了
- 谷歌浏览器中视频添加 muted 标签可以自己播放,音频不可以
- 视频标签是重点,我们经常设置自动播放,不使用controls控件,循环和设置大小属性
- 注意:重点记住使用方法以及自动播放即可,其他属性可以在使用时查找对应的手册
6. H5新增input表单
属性值 | 说明 |
---|---|
type=“email” | 限制用户输入必须为Email类型(验证) |
type=“url” | 限制用户输入必须为URL类型(验证) |
type=“date” | 限制用户输入必须为日期类型(验证) |
type=“time” | 限制用户输入必须为时间类型(验证) |
type=“month” | 限制用户输入必须为月类型(验证) |
type=“week” | 限制用户输入必须为周类型(验证) |
type=“number” | 限制用户输入必须为数字类型(验证) |
type=“tel” | 手机号码 |
type=“search” | 搜索框 |
type=“color” | 生成一个颜色选择表单 |
6.1 example04
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="">
邮箱: <input type="email" />
<input type="submit" value="提交">
</form>
</body>
</html>
<form action="">
<ul>
<li>邮箱: <input type="email" /></li>
<li>网址: <input type="url" /></li>
<li> <input type="submit" value="提交"></li>
</ul>
</form>
必须输入完整url
<li>日期: <input type="date" /></li>
<li>时间: <input type="time" /></li>
重点在于输入数字,做数字验证。
只能输入数字和e(科学计数法)。
<li>数量: <input type="number" /></li>
重点在于手机号码,注册用户都需要它。
<li>手机号码: <input type="tel" /></li>
由于各个国家手机号码格式不一定一样,这里没做验证。
重点在于搜索框,在页面当中也会经常用到。
<li>搜索: <input type="search" /></li>
可以点击✖️ 任何一次性删除所有内容。
颜色选择表单。
<li>颜色: <input type="color" /></li>
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.14
Branch: branch04
commit description:a2.14(example04——h5表单使用)tag:a2.14
我们可以在手机上看看效果。
7. H5新增表单属性
属性 | 值 | 说明 |
---|---|---|
required | required | 表单拥有该属性表示其内容不能为空,必填 |
placeholder | 提示文本(占位符) | 表单的提示信息,存在默认值将不显示 |
autofocus | autofocus | 自动聚焦属性,页面加载完成自动聚焦到指定表单 |
autocomplete | off / on | 当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。 默认已经打开,如 autocomplete=”on “关闭 autocomplete =”off”-需要放在表单内同时加上name属性-同时成功提交 |
multiple | multiple | 可以多选文件提交 |
7.1 example05
以上表单,几乎是什么都可以提交。
required
属性限制表单不能为空
<form action="">
用户名: <input type="text" required="required">
<input type="submit" value="提交">
</form>
placeholder属性 => 提示文本/占位符 (字体灰色,而value值是黑色)
用户名: <input type="text" required="required" placeholder="请输入用户名" >
autofocus => 自动聚焦属性,页面加载完成自动聚焦到指定表单
用户名: <input type="text" required="required" placeholder="请输入用户名" autofocus="autofocus">
name => 便于利用url调用接口或切换页面路由
autocomplete =>
当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。
默认已经打开,如 autocomplete='on'
关闭 autocomplete ='off'
(用得较多,这是隐私,一般都不想记录这些输入的内容)
使用前提如下:
- 需要放在表单内同时加上name属性
- 同时成功提交
用户名: <input type="text" required="required" placeholder="请输入用户名" autofocus="autofocus" name="username">
用户名: <input type="text" required="required" placeholder="请输入用户名" autofocus="autofocus" name="username" autocomplete="off">
multiple => 多选文件,多用于上传用
上传头像: <input type="file" name="" id="" multiple="multiple">
参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.15
Branch: branch04
commit description:a2.15(example05——HTML5新增表单属性)tag:a2.15
8. H5小结
- HTML5 里面新增的语义化标签
- HTML5 视频标签设置自动播放以及修改大小
- HTML5 中新增的数字表单、手机号码表单以及搜索表单
- HTML5 表单中新增的占位符以及多选属性
(后续待补充)