1.概述
HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。
这些新特性都有兼容性问题,基本是 IE9+ 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性。
2.语义化标签 (★★)
以前布局,我们基本用 div 来做。div对于搜索引擎来说,是没有语义的
<div class=“header”> </div>
<div class=“nav”> </div>
<div class=“content”> </div>
<div class=“footer”> </div>
发展到了HTML5后,新增了一些语义化标签,这样的话更加有利于浏览器的搜索引擎搜索,也方便了网站的seo(Search Engine Optimization,搜索引擎优化),下面就是新增的一些语义化标签
标签名 | 说明 |
---|---|
<header> | 头部标签 |
<nav> | 导航标签 |
<article> | 内容标签 |
<section> | 定义文档某个区域 |
<aside> | 侧边栏标签 |
<footer> | 尾部标签 |
![]() |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
header {
width: 500px;
height: 100px;
background-color: pink;
border-radius: 15px;
margin: auto;
}
nav {
width: 500px;
height: 100px;
background-color: pink;
border-radius: 15px;
margin: 10px auto;
}
article {
width: 500px;
height: 100px;
background-color: pink;
border-radius: 15px;
margin: 10px auto;
}
</style>
</head>
<body>
<header>头部标签</header>
<nav>导航栏</nav>
<article>内容标签</article>
</body>
</html>
注意:
- 这种语义化标准主要是针对搜索引擎的
- 这些新标签页面中可以使用多次
- 在IE9中,需要把这些元素转换为块级元素
- 移动端使用这些标签更多
3.多媒体标签
多媒体标签分为音频 audio 和视频 video 两个标签 使用它们,我们可以很方便的在页面中嵌入音频和视频,而不再去使用落后的flash和其他浏览器插件了。
因为多媒体标签的 属性、方法、事件比较多,因此我们需要什么功能的时候,就需要去查找相关的文档进行学习使用。
3.1 视频标签-video(★★★)
基本使用
当前 <video>
元素支持三种视频格式: 尽量使用 mp4格式
使用语法:
<video src="media/mi.mp4"></video>
浏览器 | MP4 | WebM | Ogg |
---|---|---|---|
Chrome | 是 | 是 | 是 |
Firefox | 是 | 是 | 是 |
Edge | 是 | 是 | 否 |
Safari | 是 | 否 | 否 |
Opera | 是 | 是 | 是 |
IE | 是 | 否 | 否 |
兼容写法
由于各个浏览器的支持情况不同,所以我们会有一种兼容性的写法,这种写法了解一下即可
<video controls="controls" width="300">
<source src="move.ogg" type="video/ogg" >
<source src="move.mp4" type="video/mp4" >
您的浏览器暂不支持 <video> 标签播放视频
</ video >
上面这种写法,浏览器会匹配video标签中的source,如果支持就播放,如果不支持往下匹配,直到没有匹配的格式,就提示文本
video 常用属性
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 视频就绪自动播放(谷歌浏览器需要添加muted来解决自动播放问题) |
controls | controls | 向用户显示播放控件 |
width/height | 像素值 | 设置播放器宽度/高度 |
loop | loop | 播放完是否继续播放该视频,循环播放 |
preload | auto/metadata/none | 规定是否预加载视频(如果有了autoplay 就忽略该属性) |
src | url | 视频url地址 |
poster | imgurl | 加载等待的画面图片 |
muted | muted | 静音播放 |
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
video {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<video src="media/mi.mp4"
autoplay="autoplay"
muted="muted"
loop="loop"
poster="media/mi9.jpg"
controls="controls"></video>
</body>
</html>
3.2 音频标签-audio(★★★)
基本使用
当前 <audio>
元素支持三种视频格式: 尽量使用 mp3格式
使用语法:
<audio src="media/music.mp3"></audio>
浏览器 | MP3 | Wav | Ogg |
---|---|---|---|
Chrome | 是 | 是 | 是 |
Firefox | 是 | 是 | 是 |
Edge | 是 | 是 | 否 |
Safari | 是 | 是 | 否 |
Opera | 是 | 是 | 是 |
IE | 是 | 否 | 否 |
兼容写法
由于各个浏览器的支持情况不同,所以我们会有一种兼容性的写法,这种写法了解一下即可
< audio controls="controls" >
<source src="happy.mp3" type="audio/mpeg" >
<source src="happy.ogg" type="audio/ogg" >
您的浏览器暂不支持 <audio> 标签。
</ audio>
上面这种写法,浏览器会匹配audio标签中的source,如果支持就播放,如果不支持往下匹配,直到没有匹配的格式,就提示文本
audio常用属性
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 音频就绪自动播放(谷歌浏览器需要添加muted来解决自动播放问题) |
controls | controls | 向用户显示播放控件 |
loop | loop | 播放完是否继续播放该音频,循环播放 |
preload | auto/metadata/none | 规定是否预加载音频(如果有了autoplay 就忽略该属性) |
src | url | 音频url地址 |
muted | muted | 静音播放 |
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<audio src="media/music.mp3" autoplay="autoplay" controls="controls"></audio>
</body>
</html>
3.3 小结
- 音频标签和视频标签使用方式基本一致
- 浏览器支持情况不同
- 谷歌浏览器把音频和视频自动播放禁止了
- 我们可以给视频标签添加 muted 属性来静音播放视频,音频不可以(可以通过JavaScript解决)
- 视频标签是重点,我们经常设置自动播放,不使用 controls 控件,循环和设置大小属性
4.新增的表单元素(★★)
在H5中,帮我们新增加了很多类型的表单,这样方便了程序员的开发
课堂案例: 在这个案例中,熟练了新增表单的用法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 我们验证的时候必须添加form表单域 -->
<form action="">
<ul>
<li>邮箱: <input type="email" /></li>
<li>网址: <input type="url" /></li>
<li>日期: <input type="date" /></li>
<li>时间: <input type="time" /></li>
<li>数量: <input type="number" /></li>
<li>手机号码: <input type="tel" /></li>
<li>搜索: <input type="search" /></li>
<li>颜色: <input type="color" /></li>
<!-- 当我们点击提交按钮就可以验证表单了 -->
<li> <input type="submit" value="提交"></li>
</ul>
</form>
</body>
</html>
常见输入类型
text password radio checkbox button file hidden submit reset image
新的输入类型
输入类型 | 说明 |
---|---|
email | 邮箱输入框 |
url | URL地址输入框 |
date | 日期选择器 |
time | 时间选择器 |
month | 月份选择器 |
week | 周选择器 |
number | 数字输入框 |
tel | 电话号码输入框 |
search | 搜索框 |
color | 颜色选择器 |
range | 滑块控件 |
新的表单属性
属性 | 值 | 说明 |
---|---|---|
required | required | 表单拥有该属性表示其内容不能为空,必填 |
placeholder | 提示文本 | 表单的提示信息,存在默认值将不显示 |
autofocus | autofocus | 自动聚焦属性,页面加载完成自动聚焦到指定表单 |
autocomplete | on/off | 当用户在字段开始键入时,浏览器基于之前键入过的值显示选项 |
multiple | multiple | 可以多选文件提交 |
pattern | 正则表达式 | 规定输入字段的值的模式或格式 |
min/max | 数值 | 规定输入字段的最小/最大值 |
step | 数值 | 为输入字段规定合法的数字间隔 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
input::placeholder{
color: plum;
}
</style>
</head>
<body>
<input type="search" name="serch" required="required" placeholder="请输入姓名" autofocus="autofocus"
autocomplete="on"></input>
<input type="submit"></input>
</body>
</html>