HTML5的学习
什么是HTML5?
HTML5 是下一代 HTML 标准。
HTML , HTML 4.01的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。
HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
HTML简单易学。
HTML5的优势
- 解决了跨越浏览器,跨平台问题。
- 使用了更明确的标签。
- 增强了web的应用。
HTML5 多媒体
使用 HTML5 你可以简单的在网页中播放 视频(video)与音频 (audio) 。
- HTML5 <video> ,HTML5 <audio>
HTML5 应用
使用 HTML5 你可以简单地开发应用
- 1. 本地数据存储
- 2. 访问本地文件
- 3. 本地 SQL 数据
- 4. 缓存引用
- 5. Javascript 工作者
- 6. XHTMLHttpRequest 2
HTML5 新元素
<canvas> 新元素
标签 | 描述 |
<canvas> | 标签定义图形,比如图表和其他图像。该标签基于 JavaScript 的绘图 API |
新多媒体元素
标签 | 描述 |
<audio> | 定义音频内容 |
<video> | 定义视频(video 或者 movie) |
<source> | 定义多媒体资源 <video> 和 <audio> |
<embed> | 定义嵌入的内容,比如插件。 |
<track> | 为诸如 <video> 和 <audio> 元素之类的媒介规定外部文本轨道。 |
新表单元素
标签 | 描述 |
<datalist> | 定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。 |
<keygen> | 规定用于表单的密钥对生成器字段。 |
<output> | 定义不同类型的输出,比如脚本的输出。 |
语义和结构元素
HTML5 添加了很多语义元素如下所示:
标签 | 描述 |
<article> | 定义页面独立的内容区域。 |
<aside> | 定义页面的侧边栏内容。 |
<bdi> | 允许您设置一段文本,使其脱离其父元素的文本方向设置。 |
<command> | 定义命令按钮,比如单选按钮、复选框或按钮 |
<details> | 用于描述文档或文档某个部分的细节 |
<dialog> | 定义对话框,比如提示框 |
<summary> | 标签包含 details 元素的标题 |
<figure> | 规定独立的流内容(图像、图表、照片、代码等等)。 |
<figcaption> | 定义 <figure> 元素的标题 |
<footer> | 定义 section 或 document 的页脚。 |
<header> | 定义了文档的头部区域 |
<mark> | 定义带有记号的文本。 |
<meter> | 定义度量衡。仅用于已知最大和最小值的度量。 |
<nav> | 定义导航链接的部分。 |
<progress> | 定义任何类型的任务的进度。 |
<ruby> | 定义 ruby 注释(中文注音或字符)。 |
<rt> | 定义字符(中文注音或字符)的解释或发音。 |
<rp> | 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。 |
<section> | 定义文档中的节(section、区段)。 |
<time> | 定义日期或时间。 |
<wbr> | 规定在文本中的何处适合添加换行符。 |
文本格式化元素
HTML5 Canvas
<canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形。
在画布上(Canvas)画一个红色矩形,渐变矩形,彩色矩形,和一些彩色的文字。
创建一个画布(Canvas)一个画布在网页中是一个矩形框,通过 <canvas> 元素来绘制.
注意: 默认情况下 <canvas> 元素没有边框和内容
注意: 标签通常需要指定一个id属性 (脚本中经常引用), width 和 height 属性定义的画布的大小.
提示:你可以在HTML页面中使用多个 <canvas> 元素.
使用 style 属性来添加边框:
结果如下:
使用 JavaScript 来绘制图像
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:
实例:
结果如下:
Canvas - 文本
使用 canvas 绘制文本,重要的属性和方法如下:
- font - 定义字体
- fillText(text,x,y) - 在 canvas 上绘制实心的文本
- strokeText(text,x,y) - 在 canvas 上绘制空心的文本
多媒体元素
- audio:定义声音,比如音乐或者其他音频流。
<audio>元素常用属性如下:
- src:设置歌曲的路径
- controls:设置是否使用播放控制。如果在标签中编写controls=“controls”那么网页会显示audio自带的播放控件,如果没有编写,则不会显示。
代码示例:
结果如下:
- video: 定义视频,如电影片段或者其他视频流。
<video>元素常用属性如下:
- src:设置视频的路径
- controls:设置是否使用播放控制。如果在标签中编写controls=“controls”那么网页会显示video自带的播放控件,如果没有编写,则不会显示。
代码示例:
结果如下:
hidden属性
HTML5 的所有元素都有hidden属性,属性值为true时显示。属性值为false时隐藏。CSS中的display属性也可以设置与hidden属性一样的效果,hidden=“true“相当于display:none。
代码示例:
结果如下:
spellcheck属性
HTML为<input>,<textarea>等元素添加了spellcheck属性。该属性可支持true,false两个属性值,如果设置spellcheck=”true“,浏览器将对用户输入的文本内容执行输入检查,如果检查不通过,那么浏览器会对拼错的单词进行提示。
代码示例:
结果如下:
contenteditable属性
conteneditable属性规定元素内容是否可编辑。如果该属性设为true,那么浏览器将直接允许用户直接编辑该HTML元素中的内容。修改后的内容会直接显示在该页面上,但是,一旦刷新页面,页面会重新加载,修改的内容也会丢失。
还增加了iscontenteditable属性,当元素处于可编辑的状态时,该属性返回值为true,否则返回false。
示例代码:
结果如下:
单击修改后的结果如下图所示:
designMode属性
designMode属性相当于一个全局的contenteditable属性。如果将designMode属性设为on,则该页面上所有支持contenteditable属性的元素都可变成可编辑状态。DesignMode属性默认为off。
表单控件<input>
Input 类型: color
color 类型用在input字段主要用于选取颜色,如下所示:
实例
选择你喜欢的颜色: <input type="color" name="favcolor">
Input 类型: date
date 类型允许你从一个日期选择器选择一个日期。
实例
定义一个时间控制器:
生日: <input type="date" name="bday">
Input 类型: datetime
datetime 类型允许你选择一个日期(UTC 时间)。
实例
定义一个日期和时间控制器(本地时间):
生日 (日期和时间): <input type="datetime" name="bdaytime">
Input 类型: datetime-local
datetime-local 类型允许你选择一个日期和时间 (无时区).
实例
定义一个日期和时间 (无时区):
生日 (日期和时间): <input type="datetime-local" name="bdaytime">
Input 类型: email
email 类型用于应该包含 e-mail 地址的输入域。
实例
在提交表单时,会自动验证 email 域的值是否合法有效:
E-mail: <input type="email" name="email">
Input 类型: month
month 类型允许你选择一个月份。
实例
定义月与年 (无时区):
生日 (月和年): <input type="month" name="bdaymonth">
Input 类型: number
number 类型用于应该包含数值的输入域。
您还能够设定对所接受的数字的限定:
实例
定义一个数值输入域(限定):
数量 ( 1 到 5 之间 ): <input type="number" name="quantity" min="1" max="5">
使用下面的属性来规定对数字类型的限定:
属性 | 描述 |
disabled | 规定输入字段是禁用的 |
max | 规定允许的最大值 |
maxlength | 规定输入字段的最大字符长度 |
min | 规定允许的最小值 |
pattern | 规定用于验证输入字段的模式 |
readonly | 规定输入字段的值无法修改 |
required | 规定输入字段的值是必需的 |
size | 规定输入字段中的可见字符数 |
step | 规定输入字段的合法数字间隔 |
value | 规定输入字段的默认值 |
Input 类型: range
range 类型用于应该包含一定范围内数字值的输入域。
range 类型显示为滑动条。
实例
定义一个不需要非常精确的数值(类似于滑块控制):
<input type="range" name="points" min="1" max="10">
请使用下面的属性来规定对数字类型的限定:
- max - 规定允许的最大值
- min - 规定允许的最小值
- step - 规定合法的数字间隔
- value - 规定默认值
Input 类型: search
search 类型用于搜索域,比如站点搜索或 Google 搜索。
实例
定义一个搜索字段 (类似站点搜索或者Google搜索):
Search Google: <input type="search" name="googlesearch">
Input 类型: tel
实例
定义输入电话号码字段:
电话号码: <input type="tel" name="usrtel">
Input 类型: time
time 类型允许你选择一个时间。
实例
定义可输入时间控制器(无时区):
选择时间: <input type="time" name="usr_time">
Input 类型: url
url 类型用于应该包含 URL 地址的输入域。
在提交表单时,会自动验证 url 域的值。
实例
定义输入URL字段:
添加您的主页: <input type="url" name="homepage">
Input 类型: week
week 类型允许你选择周和年。
实例
定义周和年 (无时区):
选择周: <input type="week" name="week_year">
HTML5 <input> 标签
<input> | 描述input输入器 |