HTML5的新特性有哪些?

news2024/12/22 23:04:26

HTML5是近年来Web开发标准最巨大的飞跃。与以前的版本不同,HTML5并非仅仅用来表示Web内容,它的新使命是将Web带入一个成熟的应用平台,在HTML5平台上,视频、音频、图像、动画,以及同计算机的交互都被标准化。

HTML5在以前浏览器发展的基础上对标记进行了简化。另外,HTML5中对标记从语法上也进行了分类。

(1) 不允许写结束符的标记:area、basebr、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。

(2) 可以省略结束符的标记:li、dt、dd、p、rt、optgroup、option、colgroup、thread、tbody、tr、td、th。

(3) 可以完全省略的标记:html、head、body、colgroup、tbody。

在HTML4的基础上HTML5新增了很多标记,下面列举部分新增标记,如表1所示。

■ 表1 HTML5部分新增标记

01、简化的文档类型和字符集

1.简化的文档类型

<!DOCTYPE>声明位于HTML文档中的最前面的位置,它位于<html>标签之前。该标签告知浏览器文档所使用的HTML或 XHTML规范。在HTML4中,<!DOCTYPE>标签可以声明三种DTD类型,分别表示严格版本(Strict)、过渡版本(Transitional)和基于框架(Frameset)的HTML文档。

HTML5只支持HTML一种文档类型。定义代码如下:

<!DOCTYPE HTML>

之所以这么简单,是因为HTML5不再是SGML(Standard Generalized Markup Language,标准通用标记语言,一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源)的一部分,而是独立的标记语言。这样,设计HTML文档时就不需要考虑文档类型了。

2. 字符集

如果要正确地显示HTML页面,浏览器必须知道使用何种字符集。HTML4的字符集包括ASCII、ISO-8859-1、Unicode等很多类型。

HTML5的字符集也得到了简化,只需要使用UTF-8即可,使用一个meta标记就可以指定HTML5的字符集,代码如下:

<meta charset="UTF-8">

02、HTML5的新结构

HTML5的设计者们认为网页应该像XML文档和图书一样有结构。通常,网页中有导航、网页体内容、工具栏、页眉和页脚等结构。HTML5中增加了一些新的标记以实现这些网页结构,这些新标记及其定义的网页布局如图1所示。

■ 图1 HTML5网页布局示例

下面列出网页布局的相关标记。

● <section>标记用于定义文档中的区段,如章节、页眉、页脚或文档中的其他部分。

● <header>标记用于定义文档的页眉(介绍信息)。

● <footer>标记用于定义区段(section)或文档的页脚。通常,该元素包含作者的姓名、文档的创作日期或者联系方式等信息。

● <nav>标记用于定义导航链接。

● <article>标记用于定义文章或网页中的主要内容。

● <aside>标记用于定义主要内容之外的其他内容。

在HTML5中用独立的标记代表特定的功能。例如,<header>表示头部,<nav>表示导航。这样代码变得非常有语义且容易理解,对于搜索引擎来说,更容易找到相关内容。

03、支持本地存储

HTML5本地存储类似于cookies,但它支持存储的数据量更大,并且提供了一个本地数据库引擎,从而使保持和获取数据更加容易。这个特点可以很好地将数据分发给用户,缓解与服务器的连接压力。另外可以使用JavaScript从本地Web页面中访问本地数据库,这意味着用户可以将网页保存到本地,当从公司回到家里不用连接互联网就能打开。

04、全新的表单设计

HTML5支持HTML4中定义的所有标准输入控件,而且增加了新输入控件,从而使HTML5实现了全新的表单设计。例如,时间选择器控件,以后选择时间就不要使用JavaScript插件了,直接使用type="date"属性即可。

<form>
选择日期:<input type="date" value="2017-01-04" />
</form>

在支持的浏览器(如谷歌浏览器)下,就有图2所示效果。

■图2 时间选择器控件

05、强大的绘图功能

HTML4几乎没有绘图的功能,通常只能显示已有的图片;而HTML5则集成了强大的绘图功能。在HTML5中可以通过下面的方法进行绘图:

● 使用Canvas API动态地绘制各种效果精美的图形;
● 绘制可伸缩的矢量图形(SVG)。

借助HTML5的绘图功能,既可以美化网页界面,也可以实现专业人士的绘图需求。游戏开发中主要使用Canvas API画图来实现游戏界面。

【例1】使用Canvas API画图实现绘制坦克图案。

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8"/>  
</head>  
<body>  
<h1>html5-坦克大战</h1>  
<!--坦克大战的战场-->  
<canvas id="tankMap" width="400px" height="300px" style="background-color:black"></canvas>  
<script type="text/javascript">  
    //得到画布
    var canvas1 = document.getElementById("tankMap");
    //定义一个位置变量
    var heroX = 80;
    var heroY = 80;
    //得到绘图上下文
    var cxt = canvas1.getContext("2d");
    //设置颜色
    cxt.fillStyle="#BA9658";
    //画左边的矩形
    cxt.fillRect(heroX,heroY,5,30);
    //画右边的矩形
    cxt.fillRect(heroX+17,heroY,5,30);
    //画中间的矩形
    cxt.fillRect(heroX+6,heroY+5,10,20);
    //画出坦克的盖子
    cxt.fillStyle="#FEF26E";
    cxt.arc(heroX+11,heroY+15,5,0,360,true);
    cxt.fill();
    //画出炮筒
    cxt.strokeStyle="#FEF26E";
    cxt.lineWidth=1.5;
    cxt.beginPath();
    cxt.moveTo(heroX+11,heroY+15);
    cxt.lineTo(heroX+11,heroY);
    cxt.closePath();
    cxt.stroke();
</script>  
</body>  
</html>

浏览网页效果如图3所示。

■ 图3 HTML5绘制坦克图案

06、获取地理位置信息

越来越多的Web应用需要获取地理位置信息。例如,在显示地图时标注自己的当前位置。在HTML4中,获取用户的地理位置信息需要借助第三方地址数据库或专业的开发包(如Google Gears API)。HTML5新增了Geolocation API规范,可以通过浏览器获取用户的地理位置,这无疑给有相关需求的用户提供了很大的方便。

【例2】获得用户的位置信息。

<!DOCTYPE html>
<html>
<body>
<p id="demo">点击这个按钮,获得您的坐标:</p>
<button onclick="getLocation()">试一下</button>
<script>
var x=document.getElementById("demo");
function getLocation()
{
  if (navigator.geolocation) //检测是否支持地理定位
  {
    navigator.geolocation.getCurrentPosition(showPosition);//支持则运行getCurrentPosition()方法
  }
  else{x.innerHTML="这个浏览器不支持地理定位.";}
}
function showPosition(position) //获得并显示经度和纬度
{
    x.innerHTML="纬度Latitude: " + position.coords.latitude +
                    "<br />经度Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>

07、支持多媒体功能

HTML4在播放音频和视频时都需要借助Flash等第三方插件。而HTML5新增了和元素,可以不依赖任何插件地播放音频和视频,以后用户就不需要安装和升级Flash插件了,这当然更方便了。

【例3】播放视频实例。

<!DOCTYPE HTML>
<html>
  <body>
    <video src="movie.avi" controls="controls">
      your browser does not support the video tag
    </video>
  </body>
</html>

浏览网页效果如图4所示。

图4 播放视频实例

08、支持多线程

提到多线程,大多数人会想到Visual C++、Visual C#和Java等高级语言。传统的Web应用程序都是单线程的,完成一件事后才能做其他事情,因此效率不高。HTML5新增了Web Workers对象,使用Web Workers对象可以在后台运行JavaScript程序,也就是支持多线程,从而提高了加载网页的效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/686733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大厂可能会问的那些思维题和技术点

精选大厂可能会问的那些思维题和技术点 一、题目一1.1、思路&#xff1a;1.2、代码实现 二、题目二三、const 的含义及实现机制, ,比如 : const int i, 是怎么做到 i 只可读的? ?四、到商店里买 200 的商品返还 100 优惠券( ( 可以在本商店代替现金) ) 。请问实际上折扣是多少…

6-js基础-4

JavaScript 基础 - 4 理解封装的意义&#xff0c;能够通过函数的声明实现逻辑的封装&#xff0c;知道对象数据类型的特征&#xff0c;结合数学对象实现简单计算功能。 函数综合案例 函数 理解函数的封装特性&#xff0c;掌握函数的语法规则 函数的基本使用 函数: 是可以被重复…

JavaScript的for循环学不明白怎么办?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言for循环的基本语法…

Apikit 自学日记:自动生成 API 文档

功能入口&#xff1a;API管理应用 / 选中某个项目 / 其他菜单 / 数据源同步&#xff08;API文档自动生成&#xff09; 该功能可通过配置数据源信息&#xff0c;实现基于数据源的API信息自动生成API文档。 当前支持5种数据源&#xff1a;Swagger URL、apiDoc、Github、gitlab、…

【FPGA零基础学习之旅#9】状态机基础知识

&#x1f389;欢迎来到FPGA专栏~状态机基础知识 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能指正…

MAC电脑使用技巧

Mac打开根目录 /user下的文件 mac 上怎么显示隐藏的/user文件夹&#xff0c;有两种方法可选~~~ 1&#xff0c;Finder界面是&#xff0c;最上方&#xff0c;通过“前往”进入“电脑”或文件夹 先进入到需要显示隐藏文件的文件夹下 接着按Command苹果键F,在窗格上会显示搜索栏 然…

爬虫框架和库有多重要?

爬虫框架和库在网络数据提取和分析中非常重它们为开发人员提供了工具和功能&#xff0c;使他们能够更轻松地从互联网上抓取数据。爬虫框架和库通常提供了高效的网络请求、数据解析和存储机制&#xff0c;简化了爬取过程。 使用爬虫框架库有以下几个重要优势&#xff1a; 快速开…

探索Android Jetpack Compose的Surface组件

随着声明性 UI 框架 Jetpack Compose 的出现&#xff0c;Android 开发变得更加简洁和直观。在这篇博客中&#xff0c;我们将深入探讨其中的一项基本构建块 —— Surface 组件&#xff0c;了解它如何影响 UI 的显示和设计。 一、Jetpack Compose和Surface组件 二、Surface组件…

强化学习:值函数近似

例子引入 值得注意的是&#xff0c;之前学习的 状态值和动作值 实际上都是以表格的形式表示的&#xff0c;他的好处是便于直观理解与分析&#xff0c;但缺点是难以处理大量的数据的或连续的状态或行动空间&#xff0c;表现在存储和泛化能力两个方面。如下&#xff1a; 为了解决…

Css设置border从中间向两边的颜色渐进效果

Css设置border从中间向两边的颜色渐进效果 .list-item {border-bottom: 1rpx solid;border-image: linear-gradient(to right, rgba(0,0,0,.1) 0%, rgba(81, 110, 197, 0.76) 50%, rgba(0,0,0,.1) 100%) 1;}效果如图&#xff1a;

js精度问题之bignumber.jsdecimal.js的基本使用

一、背景 JavaScript中存在精度缺失问题 为什么&#xff1f; 主要是由于浮点数的表示方式以及计算机的二进制运算原理导致的 JavaScript使用IEEE 754标准定义了浮点数的表示和计算规则。在这种表示方式中&#xff0c;浮点数由符号位、指数位和尾数位组成。尾数位的长度是固…

智慧高校IT智能运维方案

当前高校网络已成为每个学校必备的信息基础设施&#xff0c;也成了学校提高教学、科研及管理水平的重要途径和手段。随着信息化发展&#xff0c;高校网络建设逐步走向数字化、智慧化&#xff0c;传统的人力巡检、运维逐渐难以支撑高校校园稳定运行。因此&#xff0c;如何在有限…

半导体芯片封装工艺流程,芯片定制封装技术

当我们购买电子产品时&#xff0c;比如手机、电视或计算机&#xff0c;这些设备内部都有一个重要的组成部分&#xff0c;那就是半导体芯片。半导体芯片是由许多微小的电子元件组成的&#xff0c;为了保护和使用这些芯片&#xff0c;它们需要经过一个被称为封装的工艺流程。下面…

EasyRecovery16免费版电脑数据恢复工具

EasyRecovery是一款优质的数据恢复软件&#xff0c;Windows和Mac两个平台都可以运行。可恢复电脑、相机、移动硬盘、U盘、SD卡、内存卡、光盘以及本地存储的电子邮件等数据。同时支持100多种不同格式的文件恢复。EasyRecovery开发了个人版、专业版和企业版三重安装包&#xff0…

想要财务自由

*近日&#xff0c;有调查称“大概五分之一的年轻人存款在一万元以内。10万元存款是一个“坎”&#xff0c;存款超过10万就会超过53.7%的人。”“年轻人”“存款”两个词碰撞在一起&#xff0c;引来了广泛的关注和讨论。你认为年轻人存款难吗&#xff1f;可以从以下几个角度发表…

MapBox 实现自定义地图样式配置(包含本地静态引入)

Mapbox 官方提供了非常多的样式的底图,但是有的时候我们想要自己定义地图的样式基调,比如我们想看到这种样式的地图: 这就需要我们要有自己配置地图的能力了。 那么接下来我们说说怎么做。 首先我们还是登录 mapbox 的官网,找到样式配置的页面,这里直接给大家链接: A…

软件外包开发测试工具

软件测试是软件项目中非常重要的一个环节&#xff0c;在软件项目上线前必须要将问题测出来&#xff0c;否则上线后出现大量问题不但可能引起经济损失&#xff0c;而且也会失去客户的信任。今天和大家分享软件测试中常用的一些工具&#xff0c;希望对大家有所帮助。北京木奇移动…

系列六、Typora下载安装

一、下载 链接&#xff1a;https://pan.baidu.com/s/1c_OMBN_MdWi6-PjKjtcXPg?pwdyyds 提取码&#xff1a;yyds 二、安装 选择安装目录&#xff0c;直接下一步&#xff0c;下一步...即可&#xff0c;例如

SpringBoot01:认识并构建SpringBoot项目

目录 一、Spring Boot简介 1、回顾什么是Spring&#xff1f; 2、Spring是如何简化java开发的&#xff1f; 3、什么是SpringBoot&#xff1f; 3.1、什么是SpringBoot呢&#xff1f; 3.2、所有技术框架的发展似乎都遵循一条主线规律 3.3、SpringBoot开发背景 3.4、Spring…

聊一聊布隆过滤器

布隆过滤器是一个精巧而且经典的数据结构。 你可能没想到&#xff1a;RocketMQ、 Hbase 、Cassandra 、LevelDB 、RocksDB 这些知名项目中都有布隆过滤器的身影。 对于后端程序员来讲&#xff0c;学习和理解布隆过滤器有很大的必要性。下面&#xff0c;一起看一看布隆过滤器的…