什么是html5?了解它是什么?用来做什么?有什么用?

版权声明:本文为博主原创文章,如需转载请标明出去。 https://blog.csdn.net/sujin_/article/details/78520888
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>元素的子元素,这就是合理的嵌套;<div><span>hello word</div></span>,这种写法就比较
  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则提供了更多支持语义的强调元素,例如:<time>2017-11-11</time> -----强调的是日期或时间、<mark>被标记的文本</mark>---强调被标记的文本。

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点原则:
1.兼容性:HTML5在老版本的浏览器也可以运行	
2.实用性:HTML5内部并没有特别复杂的功能,它只是封装了简单功能  
3.非革命性: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值的属性
<input checked type="checkbox"/> 相当于之前的<input checked="checked" type="checkbox"/>
6.2.4允许属性值不使用引号

<option value=java>Java</option>                                                   

重点:HTML5语法的改变

1.标签不再区分大小写    2.元素可以省略结束标签    3.支持Boolean值的属性    4.允许属性值不使用引号


--------------如果大家喜欢我的博客,可以点击左上角的关注哦。

猜你喜欢

转载自blog.csdn.net/sujin_/article/details/78520888