- 新的特殊内容元素
- 新的表单控件
- 音频、视频API
- 画布(Canvas) API
- 地理(Geolocation) API
- 拖拽释放(Drag and drop) API
- 网页存储(Web storage) API
新的特殊内容元素
在HTML4中的内容标签级别相同,只能用class类名来区分各个模块的语义。而HTML5中的比如 article、footer、header、nav、section等内容标签级别不同,可便于搜索引擎快速识别。
这张图就让我很快明白了这个意思。
新的表单控件
HTML5 拥有多个新的表单输入类型。主要是控制input表单的type类型里的值。
Input 类型-email
当用户在表单里输入邮箱时,会自动提醒邮箱的格式是否正确,而不需要像以前那样用js或者php来进行表单验证。但这样的话,样式我目前还不到能否进行控制。
<!DOCTYPE HTML> <html> <body> <form>E-mail: <input type="email" /><br /> <input type="submit" /> </form> </body> </html>Input 类型 - url
url是判断输入地址是否为网址。
<!DOCTYPE HTML> <html> <body> <form> url: <input type="url" /><br /> <input type="submit" /> </form> </body> </html>Input 类型 - number
<!DOCTYPE HTML> <html> <body> <form> number: <input type="number" min="-1" max="10" step="3" value="2" /><br /> <input type="submit" /> </form> </body> </html>Input 类型 - range
这是个我认为很神奇的东西,很简单的就实现了如音量控制,进度条的数据传输。
<!DOCTYPE HTML> <html> <body> <form> points: <input type="range" min="1" max="10" /><br /> <input type="submit" /> </form> </body> </html>Input 类型 - Date Pickers(日期选择器)
<!DOCTYPE HTML> <html> <body> <form> date: <input type="date" /><br /> time: <input type="time" /><br /> datetime-local: <input type="datetime-local" /><br /> week: <input type="week" /><br /> <input type="submit" /> </form> </body> </html>Input 类型 - search
search 类型用于搜索域,比如站点搜索或 Google 搜索
<!DOCTYPE HTML> <html> <body> <form> Search<input type="search" placeholder="测试搜索" autosave="aoao.org.cn" result="8"> <input type="submit" name="Search" value="Search"/> </form> </body> </html>
<pre><!DOCTYPE HTML><html><body><form>Search<input type="search" placeholder="测试搜索"autosave="aoao.org.cn" result="8"><input type="submit" name="Search" value="Search"/></form></body></html></pre>
音频、视频API
今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。
HTML5 规定了一种通过 video 元素来包含视频的标准方法
一般要插入一段视频,可以这样做
<!DOCTYPE HTML>
<html>
<body>
<video src="/i/movie.ogg" width="320" height="240" controls="controls">
Your browser does not support the video tag.
</video>
<audio src="/i/song.ogg" controls="controls">
Your browser does not support the audio element.
</audio>
</body>
</html>
control 属性供添加播放、暂停和音量控件,video 与 video之间插入的内容是供不支持 video 元素的浏览器显示的。audio也是一样的。其中更多的是对video和audio属性的记忆,自己以前也在更改视频播放那些控件的样式花了不少功夫。
画布(Canvas) API
canvas
canvas 元素用于在网页上绘制图形。
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
SVG
在浏览器中创建图形还可以用SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
拖拽释放(Drag and drop) API
在 HTML5 中,任何元素都能够拖放
要设置一个元素能够被拖放,需要进行五个步骤
设置元素为可拖放
img的draggable属性设置为true
<img draggable="true" />设置拖动的对象 - ondragstart 和 setData()
拖动元素数据类型是 Text,值是可拖动元素的 id。
function drag(ev){ ev.dataTransfer.setData("Text",ev.id); }放到何处 - ondragover
event.preventDefault()进行放置 - ondrop
function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); }
设置一个元素可拖动还是有点复杂,不过大致的过程很简单,详细的教程可以参照:http://blog.csdn.net/lmj623565791/article/details/31413767