HTML5

本文详细介绍了HTML5的十大新特性,包括语义化标签、增强型表单、音频和视频支持、Canvas绘图、SVG绘图、地理定位、拖放API、WebWorker、WebStorage以及WebSocket,并提供了相关API的使用示例和优势解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、语义化标签

二、增强型表单 

2.1 html5 添加了一些新的input输入特性,改善更好的输入控制和验证。

2.2  html5新增了五个表单元素

2.3 html5新增表单属性

三、视频和音频

3.1 音频 

3.2 视频 

四、Canvas 绘图 

五、SVG 绘图

5.1 什么是SVG? 

5.2 SVG的优势

5.3 SVG与Canvas区别

六、地理定位

七、拖放API

八、WebWorker

九、WebStorage

9.1 sessionStorage 

9.2 localStorange

十、WebSocket


HTML5增加了十个大特性,但是 IE8 及以下不支持新特性。

一、语义化标签

html5语义标签,可以更方便清晰构建页面的布局。

标签描述
<header>定义文档的头部区域
<footer>定义文档的尾部区域
<nav>定义文档导航区域
<section>定义文档中的
<article>定义文章
<aside>定义页面以外的内容
<details>定义用户可以看到或者隐藏的额外细节
<summary>标签包含 details 元素的标题
<dialog> 定义对话框
<figure>定义自包含内容,如:图表
<main>定义文档主内容
<mark>定义文档主内容
<time>定义日期/时间

二、增强型表单 

2.1 html5 添加了一些新的input输入特性,改善更好的输入控制和验证。

输入类型(属性)描述
color主要用于选取颜色(可用于自定义颜色)
date        选取日期(可用于定义时间组件)
datetime选取日期(UTC时间)  【注意: 这个 从 WHATWG HTML 中移除 ,并且不受浏览器支持】
datetime-local选取日期(无时区)(日期和时间)
month选择一个月份  【月份】
week选择周和年        【哪年哪周】
time选择一个 时间        【具体时间】
email

包含e-mail地址的输入域 【提交表单前会校验】

使用:<input type="email" id="email" pattern=".+@globex\.com" size="30" required>

number数值的输入域   【只能输出数字,调整数字】
urlurl地址的输入域
tel定义输入电话号码和字段
search用于搜索域
range一个范围内数字值的输入域   【滑块  调整阈值】

2.2  html5新增了五个表单元素

元素(标签)描述
<datalist>

用户会在他们输入数据时看到域定义选项的下拉列表。

HTML <datalist>元素包含了一组元素 <options>,这些元素表示其它表单控件可选值。

用法:

        <input list="browsers" name="myBrowser" />

        <datalist id="browsers">

                <option value="Chrome"></option>

        </datalist>

详细地址:datalist - HTML(超文本标记语言) | MDN

<progress>

进度条,展示连接/下载进度   【进度条】

详细地址:<progress>:进度指示元素 - HTML(超文本标记语言) | MDN

<meter>

刻度值,用于某些计量,例如温度、重量等

详细地址:<meter> - HTML(超文本标记语言) | MDN

<keygen>

提供一种验证用户的可靠方法,生成一个公钥和私钥

已废弃: 该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

<output>

用于不同类型的输出 ,比如尖酸或脚本输出

用法:        

<form οninput="result.value=parseInt(a.value)+parseInt(b.value)">

        <input type="range" name="b" value="50" /> +

        <input type="number" name="a" value="10" /> =

        <output name="result"></output>

</form>

详细地址:<output> - HTML(超文本标记语言) | MDN

2.3 html5新增表单属性

属性描述
placehoder输入框默认提示文字        【提示文字】
required要求输入的内容是否可为空        【必填】
pattern描述一个正则表达式验证输入的值        【正则】
min/max设置元素最小/最大值        【最大值。最小值】
step为输入域规定合法的数字间隔        【步调】
height/wdith用于image类型<input>标签图像高度/宽度        【定义宽高】
autofocus规定在页面加载时,域自动获得焦点        【获取焦点】
multiple规定<input>元素中可选择多个值        【多选】

三、视频和音频

html5提供了音频和视频文件的标准

3.1 音频 

详细了解地址:<audio> - HTML(超文本标记语言) | MDN 

使用:

        <audio controls src="/media/cc0-audio/t-rex-roar.mp3">

                <!-- 可以使用 <source>指定播放源 -->

                <!-- <source src="horse.ogg" type="audio/ogg"> -->

                Your browser does not support the

                <code>audio</code> element.

        </audio>

注意:

  1. controls  指定属性提供添加播放、暂停和音量控件。
  2. src 指定文件地址
  3. <source>   指定不同的播放源
  4. 可以在标签内写一些注意,如:什么浏览器不支持等。只有在不支持的情况下才能看到。
<audio controls src="/media/cc0-audio/t-rex-roar.mp3">
        <!-- 可以使用 <source>指定播放源 -->
        <!-- <source src="horse.ogg" type="audio/ogg">  -->
        Your browser does not support the
        <code>audio</code> element.
</audio>

3.2 视频 

详细了解地址:<video> - HTML(超文本标记语言) | MDN

使用

        <video controls width="250">

                <source src="/media/cc0-videos/flower.webm" type="video/webm">

                <source src="/media/cc0-videos/flower.mp4" type="video/mp4">

                Sorry, your browser doesn't support embedded videos.

        </video>

注意: 

  1. controls  指定属性提供添加播放、暂停和音量控件。
  2. <source>   指定不同的播放源
  3. src 指定文件地址
  4. 可以在标签内写一些注意,如:什么浏览器不支持等。只有在不支持的情况下才能看到。
<video controls width="250">
        <source src="/media/cc0-videos/flower.webm" type="video/webm">
        <source src="/media/cc0-videos/flower.mp4" type="video/mp4"> Sorry, your browser doesn't support embedded videos.
</video>

四、Canvas 绘图 

详细了解地址:Canvas - Web API 接口参考 | MDN

 使用:

        <canvas id="canvas"></canvas>

        在js中获取canvas 去绘制图像。

<body>
    <canvas id="canvas"></canvas>
    <script>
        const canvas = document.getElementById('canvas');
        const ctx = canvas.getContext('2d');
        ctx.fillStyle = 'green';
        ctx.fillRect(10, 10, 150, 100);
    </script>
</body>

五、SVG 绘图

详细了解:SVG | MDN

5.1 什么是SVG? 

  • SVG指可伸缩矢量图形
  • SVG用于定义用于网络的基于矢量的图形
  •  SVG使用XML格式定义图形
  • SVG图像在放大或改变尺寸的情况下其图形质量不会有损失
  • SVG是万维网联盟的标准

5.2 SVG的优势

与其他图像格式相比,是哟个SVG的优势在于:

  • SVG图像可通过文本编译器来创建和修改
  • SVG图像可被搜索、索引、脚本化或压缩
  •  SVG是可伸缩的
  • SVG图像可在任何的分辨率下被高质量的打印
  • SVG可在图像质量不下降的情况下被放大

5.3 SVG与Canvas区别

  • SVG适用于描述XML中的2D图形的语言
  • Canvas随时随地绘制2D图形(使用javaScript)
  • SVG是基于XML的,意味这可以操作DOM,渲染速度较慢
  • 在SVG中每个形状都被当做是一个对象,如果SVG发生改变,页面就会发生重绘
  • Canvas是一像素一像素地渲染,如果改变某一个位置,整个画布会重绘。
CanvasSVG
依赖分辨率不依赖分辨率
不支持事件处理器支持事件处理器
能够以.png或.jpg格式保存结果图像复杂度会减慢搞渲染速度
文字呈现功能比较简单适合大型渲染区域的应用程序
最合适图像密集的游戏不适合游戏应用

六、地理定位

详细了解:Geolocation.getCurrentPosition() - Web API 接口参考 | MDN 

方法用来获取设备当前位置。

<script>
        var options = {
            enableHighAccuracy: true,
            timeout: 5000,
            maximumAge: 0
        };

        function success(pos) {
            var crd = pos.coords;

            console.log('Your current position is:');
            console.log('Latitude : ' + crd.latitude);
            console.log('Longitude: ' + crd.longitude);
            console.log('More or less ' + crd.accuracy + ' meters.');
        };

        function error(err) {
            console.warn('ERROR(' + err.code + '): ' + err.message);
        };

        navigator.geolocation.getCurrentPosition(success, error, options);
</script>

七、拖放API

详细了解:HTML 拖放 API - Web API 接口参考 | MDN

拖放是一种常见的特性,即捉取对象以后拖到另一个位置。

在html5中,拖放是标准的一部分,任何元素都能够拖放。

<div draggable="true"></div>

当元素拖动时,我们可以检查其拖动的数据。

<div draggable="true" ondragstart="drag(event)"></div>
<script>
function drap(ev){
    console.log(ev);
}
</script>
拖动生命周期属性名描述
拖动开始ondragstart在拖动操作开始时执行脚本
拖动过程中ondrag只要脚本在被拖动就运行脚本
拖动过程中ondragenter当元素被拖动到一个合法的防止目标时,执行脚本
拖动过程中ondragover只要元素正在合法的防止目标上拖动时,就执行脚本
拖动过程中ondragleave当元素离开合法的防止目标时
拖动结束ondrop将被拖动元素放在目标元素内时运行脚本
拖动结束ondragend在拖动操作结束时运行脚本

八、WebWorker

 详细地址:使用 Web Workers - Web API 接口参考 | MDN

Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法。线程可以执行任务而不干扰用户界面。 

九、WebStorage

详细了解:Web Storage API - Web API 接口参考 | MDN 

Web Storage 包含如下两种机制:sessionStorage 和 localStorange。

9.1 sessionStorage 

        为每一个给定的源(given origin)维持一个独立的存储区域,该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。

9.2 localStorange

        同样的功能,但是在浏览器关闭,然后重新打开后数据仍然存在。

十、WebSocket

详细了解:WebSocket - Web API 接口参考 | MDN 

对象提供了用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接收数据的 API。 

使用 WebSocket () 构造函数来构造一个 WebSocket 。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值