什么是html5?有什么用?与HTML4.01、XHTML区别
HTML的全称是(Hyper Text Markup Language )即超文本标记语言,它是互联网上应用最广泛的标记语言。不要把HTML语言和Java、C等编程语言混淆起来,HTML只是一种标记语言,简单地说,HTML文件就是普通文本+HTML标记(HTML标签),和不同的标记就能表示不同的效果。
1.HTML发展历史
HTML1.0 | 在1993年6月作为互联网工程工作小组(IETF)工作草案发布 |
HTML 2.0 | 1995年11月作为RFC 1866发布,在RFC 2854于2000年6月发布之后被宣布已经过时 |
HTML 3.2 | 1996年1月14日,W3C推荐标准 |
HTML 4.0 | 1997年12月18日,W3C推荐标准 |
HTML 4.1 | 1999年12月24日,W3C推荐标准 |
XHTML | 发布与2000年1月26日,是W3C组织推荐标准,后来经修订与2002年8月1日重新发布 |
HTML5 | 第一份正式草案已于2008年1月22日公布,现仍继续完善 |
2.HTML4.01与XHTML
XHTML的全称是(EXtensible HyperText Markup Language,扩展的超文本标记语言),XHTML和HTML4.01具有很好的兼容性,而且XHTML是更严格、更纯净的HTML代码。HTML有很多不规范的地方,而XHTML致力于消除这种不规范,XHTML要求HTML文档首先必须是一份XML文档。XML文档是一种结构化文档,它有如下4条基本原则:
1. 整个文档有且只有一个更元素
2. 每个元素都由开始标签好结束标签组成(例如:`<a></a>`就是开始标签和结束标签),除非使用空元素语法(例如<br>就 是空元素语法)
3. 元素与元素之间应该合理嵌套,例如`<div><span>hello word</span></div>`,可以明确地看出`<span>`元素是`<div>`元素的子元素,这就是合理的嵌套;
4. 元素的属性必须有属性值,而且属性值应该在引号(单引号或双引号都可以)引起来。
3.HTML与XHTML的文档定义类型(DTD)
从表面上看,HTML和XHTML显得杂乱无脏,但实际上W3C制定了严格的语义约束,使用了DTD(Document Type Definition,文档类型定义)来定义HTML和XHTML的语义约束。关于DTD的详细介绍可以看我的博客-->点击打开链接
4.从XHTML到HTML5
虽然W3C努力为HTML制定规范,但由于绝大部分编写HTML页面并没有受过专业训练,他们对HTML规范、XHTML规范也不怎么了解,所有他们制定的HTML网页绝大部分没有遵守HTML规范。HTML规范:
1. 元素的标签名用了大小写混乱的情况。比如:`<p>html</P>`
2. 元素没有合理结束的情况。比如:只有`<p>`开始标签,没有`</p>`结束标签
3. 元素中使用了属性,但没有指定属性的情况。比如:`<Input type="text" disabled>`
4. 为元素的属性指定属性值时没有使用引号的情况。比如:`<input type=text>`,可能是出于存在合理的考虑,WHATWG组织开始制定一种妥协式的规范:HTML5。
5.HTML优势
5.1 解决了跨浏览器问题
对于有过实际开发经验的前端程序员来说,跨浏览器问题绝对是一个永恒的噩梦:明明在一个浏览器中科院正常运行的HTML+CSS+JAVASCRIPT页面,但换一个浏览器之后,就会出现很多问题,比如:JavaScript运行出错、页面布局混乱等,因此前端程序员会先判断对方浏览器,然后根据对方浏览器编写不同的页面代码。HTML5的出现可能改变了这种局面,目前主流浏览器如Edage(Internet Explorer)、Chorme、Firefox、Safari都表现出对HTML5的极大热情。
5.2 部分代替了原来的JavaScript
HTML5增加了一些非常实用的功能,例如,打开一个页面立即让某个单行文本框获得输入焦点,在HTML5之前要通过JavaScript来实现。
图书:<input type="text" name="book" id="name"/><br/> 价格:<input type="text" name="price" id="price"/> <script type="text/javascript"> document.getElementById("price").focus(); </script>
在HTML5中只需要设置一个属性即可
图书:<input type=text name=book/><br/> 价格:<input type=text autofocus name=price/>
5.3 更明确的语义支持
在HTML5以前,如果要表达一个文档结构,可能只通过`<div>`元素来实现,HTML5则可以提供更明确的语义元素。
<header>.........</header> <nav>...............</nav> <article> <section></section> </article> <aside>...............</aside> <footer>..............</footer>
上面的页面片段就可以提供更清晰的语义了,而不是通过语义不清的 div 元素来完成布局。除此之外,以前的HTML会通过 em 元素来表示被强调的内容,但到底是哪一种强调,HTML却无法表达;HTML5则提供了更多支持语义的强调元素。
5.4 增强了WEB应用程序的功能
一直以来,HTML页面的功能被死死地限制着:客户端从服务器下载HTML页面数据,浏览器负责呈现这些HTML页面数据。出于客户机安全性的考虑,以前的HTML在安全性方面确实做得足够安全。
当做得足够安全后,就需要JavaScript等其他方式来增加HTML的功能。换句话说,HTML对WEB程序而言太单薄了,比如文件上传时想同时选择多文件都不行(前端开发者不得不通过Flash、JavaScript等各种技术来克服这个因素),为补充这种不足,HTML5规范增加了不少新的API,比如HTML5新增的本地存储API、文件访问功能,在未来的日子里,我相信使用HTML5开发WEB应用将会更加轻松。
6.HTML的基本结构和语法
首先要明确一点,HTML5并不是对HTML4、XHTML的革命,也就是说原来的HTML4开发的HTML网页同样可用;如果开发者受过严格训练,喜欢XHTML那种严格、规范、语法,同样可以按XHTML的严格要求来开发HTML5。(个人建议使用严格的语法格式) Html5完全遵守以下3点原则:
兼容性:HTML5在老版本的浏览器也可以运行
实用性:HTML5内部并没有特别复杂的功能,它只是封装了简单功能
非革命性:HTML5并不是革命式的发展,是一种妥协式的规范
6.1 HTML5的基本结构
HTML5,只要把XHTML中的DTD声明改为<!DOCTYPE html>;HTML5支持两种方式来指定页面的字符集
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset=utf-8" />
6.2HTML5的语法变化
6.2.1 标签不再区分大小写
6.2.2 元素可以省略结束标签,例如:
<p> <ol> <li>aaaa <li>bbbb <li>ccccc <img src="a.gif" alt="a"/> </ol>
6.2.3 支持Boolean值的属性
6.2.4允许属性值不使用引号
<option value=java>Java</option>
重点:HTML5语法的改变
标签不再区分大小写
元素可以省略结束标签
支持Boolean值的属性
允许属性值不使用引号
原文作者:湮顾千古
原文链接:https://blog.csdn.net/sujin_/article/details/78520888
本站部分文章、数据、素材收集于网络,所有版权均归源网站或原作者所有!
如果侵犯了您的权益,请来信告知我们下线删除,邮箱:357234902@qq.com