【前端系列教程之HTML5】05_HTML5概述

本文详细介绍了HTML5的基本概念、发展背景、新特性,如多媒体元素、语义元素、画布与图形、本地存储、以及对旧版浏览器的支持。HTML5旨在简化网页开发,提升用户体验,通过新增的语义元素提高内容的可读性和可访问性。同时,文章还列举了HTML5在不同浏览器上的兼容性问题及解决方案,如使用html5shiv解决IE浏览器对新元素的支持。
摘要由CSDN通过智能技术生成

一、什么是 HTML5

        HTML5是HTML最新的修订版本(超文本标记语言的第五次重大修改),2014年10月由万维网联盟(W3C)完成标准制定。

        HTML5的设计目的是为了在移动设备上支持多媒体。

        HTML5 简单易学。

        HTML5 是下一代 HTML 标准。

        HTML , HTML 4.01的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。

        HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。

二、HTML5 是如何起步的

        HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。

        WHATWG 致力于 web 表单和应用程序(Application),而 W3C 专注于 XHTML 2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。

        HTML5 中的一些有趣的新特性:

  • 用于绘画的 canvas 元素

  • 用于媒介回放的 video 和 audio 元素

  • 对本地离线存储的更好的支持

  • 新的特殊内容元素,比如 article、footer、header、nav、section

  • 新的表单控件,比如 calendar、date、time、email、url、search

三、HTML5 浏览器支持

        现代的浏览器都支持 HTML5。最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。

        此外,所有浏览器,包括旧的和最新的,对无法识别的元素会作为行内元素自动处理。

        正因为如此,你应该 "教会" 浏览器处理 "未知" 的 HTML 元素。

3.1 将 HTML5 元素定义为块元素

        HTML5 定了 8 个新的 HTML 语义(semantic) 元素。所有这些元素都是 块级 元素。

        为了能让旧版本的浏览器正确显示这些元素,你可以设置 CSS 的 display 属性值为 block:

header, section, footer, aside, nav, main, article, figure { 
    display: block; 
}

3.2 为 HTML 添加新元素(自定义标签)

        你可以为 HTML 添加新的元素。

        该实例向 HTML 添加的新的元素,并为该元素定义样式,元素名为 <myHero>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>为 HTML 添加新元素</title>
<script>
document.createElement("myHero")
</script>
<style>
myHero {
    display: block;
    background-color: #ddd;
    padding: 50px;
    font-size: 30px;
}
</style> 
</head>
 
<body>
 
<h1>我的第一个标题</h1>
 
<p>我的第一个段落。</p>
 
<myHero>我的第一个新元素</myHero>
 
</body>
</html>

        注:JavaScript 语句 document.createElement("myHero") 是为 IE 浏览器添加新的元素。

3.3 Internet Explorer 浏览器问题

        你可以使用以上的方法来为 IE 浏览器添加 HTML5 元素,但是:

Internet Explorer 8 及更早 IE 版本的浏览器不支持以上的方式。

        我们可以使用 Sjoerd Visscher 创建的 "HTML5 Enabling JavaScript", " shiv" 来解决该问题:

        html5shiv 是一个针对 IE 浏览器的 HTML5 JavaScript 补丁,目的是让 IE 识别并支持 HTML5 元素。

<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

        以上代码是一个注释,作用是在 IE 浏览器的版本小于 IE9 时将读取 html5.js 文件,并解析它。

        注意:国内用户请使用国内静态资源库(Google 资源库在国内不稳定):

<!--[if lt IE 9]>
  <script src="https://cdn.bootcdn.net/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->

        针对IE浏览器html5shiv 是比较好的解决方案。html5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。

        html5shiv.js 引用代码必须放在 <head>元素中,因为 IE 浏览器在解析 HTML5 新元素时需要先加载该文件。

        友情链接:html5shiv (vr29) - html5shiv 是一个针对 IE 浏览器的 HTML5 JavaScript 补丁,目的是让 IE 识别并支持 HTML5 元素。 | BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务

四、HTML5语义化

        在HTML5添加新标签的时候,提出了一个关键词 “语义”

        语义= 意义

        语义元素 = 有意义的元素

        一个语义元素能够清楚的描述其意义给浏览器和开发者。

        无语义 元素实例: <div><span> - 无需考虑内容.

        语义元素实例: <form>, <table>, and <img> - 清楚的定义了它的内容.

HTML5新标签的优点:

  • 更注重于内容而不是形式:之前的标签更注重于怎么把内容显示到页面中,新标签更加容易明显的让人明白存放的是什么东西;

  • 对人的友好:更加的语义化,高度的描述性,更加的直观,增加代码的可读性

  • 对计算机的友好:浏览器更容易解析,搜索引擎更容易抓取文档内容,之前的定义区块,都是使用div结合id和class使用,会出现各种各样的命名;现在定义的新标签更规范;都是统一的头部和底部;

  • 代码更加的简洁

五、HTML5特性

5.1 HTML5 的改进

  • 新元素

  • 新属性

  • 完全支持 CSS3

  • Video 和 Audio

  • 2D/3D 制图

  • 本地存储

  • 本地 SQL 数据

  • Web 应用

5.2 HTML5 多媒体

        使用 HTML5 你可以简单的在网页中播放 视频(video)与音频 (audio) 。

  • HTML5 video

  • HTML5 audio

5.3 HTML5 应用

        使用 HTML5 你可以简单地开发应用

  • 本地数据存储

  • 访问本地文件

  • 本地 SQL 数据

  • 缓存引用

  • Javascript 工作者

5.4 HTML5 图形

        使用 HTML5 你可以简单的绘制图形:

  • 使用 <canvas> 元素。

  • 使用内联 SVG。

  • 使用 CSS3 2D 转换、CSS3 3D 转换。

5.5 HTML5 使用 CSS3

  • 新选择器

  • 新属性

  • 动画

  • 2D/3D 转换

  • 圆角

  • 阴影效果

  • 可下载的字体

5.6 新语义元素

        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>规定在文本中的何处适合添加换行符。

5.7 HTML5 表单

        新表单元素, 新属性,新输入类型,自动验证。

5.8 HTML5已移除的元素

        <acronym>:定义首字母缩写,HTML5 中不支持 <acronym> 标签。请使用 <abbr> 标签代替

        <basefont>:规定页面上的默认字体颜色和字号:

        <big>:呈现大号字体效果

        <dir>:定义目录列表,类似于ul和ol

        <center>:对其所包括的文本进行水平居中。

        <font>:规定文本的字体、字体尺寸、字体颜色。

        <frame>:定义 frameset 中的一个特定的窗口(框架)

        <frameset>:可定义一个框架集。

        <noframes>: 可为那些不支持框架的浏览器显示文本。noframes 元素位于 frameset 元素内部。

        <strike>:可定义加删除线文本定义。

        <tt>:呈现类似打字机或者等宽的文本效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是波哩个波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值