1. HTML常用标签重点提炼
-
相对路径三种形式
-
排版标签
-
文本格式化标签
-
图像标签
-
链接
-
相对路径,绝对路径的使用
2. HTML常用标签
首先 HTML
和CSS
是两种完全不同的语言,HTML
是结构,就只写HTML
标签,认识标签就可以了。
HTML
标签有很多,这里只需掌握最为常用的,后面有些较少用的,可以查下手册就可以了。
2.1 排版标签
排版标签
主要和css
搭配使用,显示网页结构
的标签
,是网页布局最常用的标签
。
2.1.1 (1)标题标签h (熟记)
单词缩写: head
头部. 标题 title
文档标题
为了使网页更具有语义化,我们经常会在页面中用到标题标签,HTML
提供了6
个等级的标题,即
标题标签语义: 作为标题使用,并且依据重要性递减
其基本语法格式如下:
<h1> 标题文本 </h1>
<h2> 标题文本 </h2>
<h3> 标题文本 </h3>
<h4> 标题文本 </h4>
<h5> 标题文本 </h5>
<h6> 标题文本 </h6>
显示效果如下:
小结 :
- 加了标题的文字会变的加粗,字号也会依次变大
- 一行是只能放一个标题的
2.1.2 (2)段落标签p ( 熟记)
单词缩写: paragraph
段落 [ˈpærəgræf]
无须记这个单词
作用语义:
可以把 HTML
文档分割为若干段落
在网页中要把文字有条理地显示出来,离不开段落标签,就如同我们平常写文章一样,整个网页也可以分为若干个段落,而段落的标签就是
<p> 文本内容 </p>
是HTML
文档中最常见的标签,默认情况下,文本在一个段落中会根据浏览器窗口的大小自动换行
。
2.1.3 (3)水平线标签hr(认识)
单词缩写: horizontal
横线 [ˌhɔrəˈzɑntl]
同上
在网页中常常看到一些水平线将段落与段落之间隔开,使得文档结构清晰,层次分明。这些水平线可以通过插入图片实现,也可以简单地通过标签来完成,<hr />
就是创建横跨网页水平线的标签。其基本语法格式如下:
<hr />是单标签
在网页中显示默认样式的水平线
。
2.1.3.1 example01
新闻页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>40.6摄氏度:上海创出140年气象史上高温新纪录</h1>
2020年07月27日
10:58:26来源:新华网
<hr />
<p>新华网上海7月26日电(记者李荣)26日13时36分至47分这一时间段,上海徐家汇气象观测站测得当日最高温达40.6摄氏度。这是上海有气象记录以来140年的高温新纪录,打破了此前1934年创下的40.2摄氏度的历史极值。</p>
<p>上海已经连续2天发出了最高等级的红色高温警报。上海中心气象台首席服务官满莉萍说,今年副热带高压强度特别强,对上海及江南地区的控制“实在太稳定了”,整个7月份基本上都处在它的势力范围之内。25日上海已出现了气象史上7月份“第四高”的高温值,这使得26日的“基础”气温就很高,超过了30摄氏度,然后不断地升温。此外,26日白天风小,又吹的是西南风,特别是在中午之后这一个最易出现高温的时段,光照又比较强,所以气温“直线飙升”,一举冲破历史极值,出现了“创纪录”的极端酷暑天。</p>
<p>
在上海历史上,出现40摄氏度以上极端高温的几率并不大。根据相关资料,中心城区徐家汇观测站 140年来仅出现了5次记录,除了这一次的新纪录,还有就是1934年7月12日的40.2摄氏度;1934年8月25日、2009年7月20日、2010年8月13日的40摄氏度。
</p>
<p>由于气温实在太高,上海26日下午不少地区出现了热对流天气。气象台说,首先是浦东地区,下起了热雷雨。到15时05分,全市大部分地区出现了分散性的雷电活动和热雷雨,中心城区徐家汇等地都响起了隆隆的雷声。</p>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.02
Branch: branch01commit description:a0.02(example01—新闻页面)
tag:a0.02
2.1.4 (4)换行标签br (熟记)
单词缩写: break
打断 ,换行
在HTML
中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后自动换行。如果希望某段文本强制换行显示,就需要使用换行标签
<br />
这时如果还像在word
中直接敲回车键换行就不起作用了。
2.1.4.1 example02
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
三生三世十里桃花,<br />
一心一意百行代码。<br />
----
<p>三生三世十里桃花,</p>
<p>一心一意百行代码。</p>
----
</body>
</html>
换行符 => 间隔较小
段落标签 => 间隔较大
参考:https://github.com/6xiaoDi/blog-html/tree/a0.03
Branch: branch01commit description:a0.03(example02—换行标签)
tag:a0.03
2.1.5 (5)div 和 span标签(重点)
div
span
是没有语义的 是我们网页布局主要的2个盒子 想必你听过 css+div
div
就是 division
的缩写 分割, 分区的意思 其实有很多div
来组合网页。
span
跨度,跨距;范围
语法格式:
<div> 这是头部 </div> <span>今日价格</span>
他们两个都是盒子,用来装我们网页元素的, 只不过他们有区别,现在我们主要记住使用方法和特点就好了
- div标签 用来布局的,但是现在一行只能放一个
div
- span标签 用来布局的,一行上可以放好多个
span
2.1.5.1 example03
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div> div1 </div>
<div> div2 </div>
<span> span1 </span>
<span> span2 </span>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.04
Branch: branch01commit description:a0.04(example03—div和span是没有语义的)
tag:a0.04
2.1.6 排版标签总结
标签名 | 定义 | 说明 |
---|---|---|
<hx></hx> | 标题标签 | 作为标题使用,并且依据重要性递减 |
<p></p> | 段落标签 | 可以把 HTML 文档分割为若干段落 |
<hr /> | 水平线标签 | 没啥可说的,就是一条线 |
<br /> | 换行标签 | |
<div></div> | div标签 | 用来布局的,但是现在一行只能放一个div |
<span></span> | span标签 | 用来布局的,一行上可以放好多个span |
2.2 文本格式化标签(熟记)
在网页中,有时需要为文字设置粗体、斜体或下划线效果,这时就需要用到HTML
中的文本格式化标签,使文字以特殊的方式显示。
区别:
b
只是加粗 strong
除了可以加粗还有 强调的意思, 语义更强烈。
剩下的同理… 即后面一组表强调,更推荐使用。
2.2.1 example04
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
走过路过不要错过,买不买没关系,到屋里瞧一瞧到屋里看一看,本店<b>所有商品都两块</b>,<strong>全场都两块</strong>,挑啥都<i>两块</i>,买啥都<em>两块</em>,挑啥拿啥买啥都两块,原价<s>十块八块</s>的都两块,两块钱你<del>买不了吃亏</del>,你买不了上当,<u>真正的清仓</u>,<ins>真正的甩货</ins>,不用问价也不用讲价,全场都两块,挑啥啥便宜,买啥啥贱!走过路过千万不要错过!
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.05
Branch: branch01commit description:a0.05(example04—文本格式化标签)
tag:a0.05
2.3 标签属性
所谓属性就是外在特性 比如 手机的颜色 手机的尺寸 ,总结就是手机的 =>
- 手机的颜色是黑色
- 手机的尺寸是 8寸
- 水平线的长度是 200
- 图片的宽度 是 300
使用HTML
制作网页时,如果想让HTML
标签提供更多的信息,可以使用HTML
标签的属性加以设置。其基本语法格式如下:
<标签名 属性1="属性值1" 属性2="属性值2" …> 内容 </标签名>
<手机 颜色="红色" 大小="5寸"> </手机>
2.4 图像标签img (重点)
单词缩写: image
图像
要想在网页中显示图像就需要使用图像标签,接下来将详细介绍图像标签<img />
以及和他相关的属性。(它是一个单身狗)
语法如下:
<img src="图像URL" />
该语法中src
属性用于指定图像文件的路径和文件名,他是img
标签的必需属性。
border
一般利用css设置,实际很少使用。
**注意: **
- 标签可以拥有多个属性,必须写在开始标签中,位于标签名后面。
- 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
- 采取 键值对 的格式 key=“value” 的格式
比如:
正常的<br />
<img src="cz.jpg" width="300" height="300" /><br />
带有边框的<br />
<img src="cz.jpg" width="300" height="300" border="3" /><br />
有提示文本的<br />
<img src="cz.jpg" width="300" height="300" border="3" title="这是个小蒲公英" /><br />
有替换文本的<br />
<img src="cz.jpg" width="300" height="300" border="3" alt="图片不存在" />
重点掌握点:
- 请说出 图像标签那个属性是必须要写的? => src
- 请说出 图像标签中 alt 和 title 属性区别? => 图片不能显示的时候显示的文字,鼠标经过图片显示的文字。
2.4.1 example05
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h4> 正常的图片: </h4>
<img src="timg.gif" />
<h4> 带有alt 替换文本:(图片不能正常显示,就显示文字) </h4>
<img src="timg1.gif" alt="胡歌咋吹笛子" />
<h4> 带有title 提示文本:(鼠标放到图片上,显示的文字) </h4>
<img src="timg.gif" title="胡歌还在吹笛子等霍建华" />
<h4> 修改图片大小 宽度 width 高度 height </h4>
<img src="timg.gif" title="胡歌还在吹笛子等霍建华" width="600" />
<h4> 带有边框的图片 </h4>
<img src="timg.gif" title="胡歌还在吹笛子等霍建华" width="600" border="10" />
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.06
Branch: branch01commit description:a0.06(example05—图像标签img )
tag:a0.06
2.5 链接标签(重点)
单词缩写: anchor 的缩写 [ˈæŋkə®] 。基本解释 锚, 铁锚 的
在HTML中创建超链接非常简单,只需用标签把文字包括起来就好。
语法格式:
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
属性 | 作用 |
---|---|
href | 用于指定链接目标的url 地址,(必须属性)当为标签应用href 属性时,它就具有了超链接的功能 |
target | 用于指定链接页面的打开方式,其取值有_self 和_blank 两种,其中_self 为默认值,__blank 为在新窗口中打开方式。 |
注意:
- 外部链接 需要添加
http://www.baidu.com
- 内部链接 直接链接内部页面名称即可 比如
< a href="index.html"> 首页 </a >
- 如果当时没有确定链接目标时,通常将链接标签的href属性值定义为
“#”
(即href="#"
),表示该链接暂时为一个空链接。 - 不仅可以创建文本超链接,在网页中各种网页元素,如图像、表格、音频、视频等都可以添加超链接。
重点掌握点:
- 请说出 链接标签那个属性是必须要写的? => href
- 请说出 如何新窗口打开这个一个链接网页的? => target 设置为
_blank
2.5.1 example06
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h4>外部链接:</h4>
<a href="http://www.baidu.com" target="_blank"> 百度 </a>
<a href="http://www.sohu.com"> 搜狐 </a>
<h4>内部链接:</h4>
<a href="demo.html">123 </a>
<h4>空链接:</h4>
<a href="#"> abc</a>
<h4> 图像链接:</h4>
<a href="http://www.baidu.com" target="_blank"> <img src="timg.gif" /> </a>
</body>
</html>
demo.html
<h>图片在下方</h>
<img src="timg.gif" />
参考:https://github.com/6xiaoDi/blog-html/tree/a0.07
Branch: branch01commit description:a0.07(example06—链接标签)
tag:a0.07
2.6 注释标签
在HTML中还有一种特殊的标签——注释标签。如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。
简单解释:
注释内容不会显示在浏览器窗口中,但是作为HTML文档内容的一部分,也会被下载到用户的计算机上,查看源代码时就可以看到。
语法格式:
<!-- 注释语句 --> 快捷键是: ctrl + / 或者 ctrl +shift + /
注释重要性:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注释标签</title>
</head>
<body>
<!-- 这是一个h1标签 -->
<h1>刘德华专访</h1>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.08
Branch: branch01commit description:a0.08(注释标签)
tag:a0.08
2.6.1 团队约定
一般用于简单的描述,如某些状态描述、属性描述等
注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行
推荐:
<!-- Comment Text -->
<div>...</div>
不推荐:
<div>...</div><!-- Comment Text -->
<div><!-- Comment Text -->
...
</div>
3. 路径(重点、难点)
实际工作中,我们的文件不能随便乱放,否则用起来很难快速的找到他们,因此我们需要一个文件夹来管理他们。
目录文件夹:
就是普通文件夹,里面只不过存放了我们做页面所需要的 相关素材,比如 html文件, 图片 等等。
根目录
打开目录文件夹的第一层 就是 根目录
页面中的图片会非常多, 通常我们再新建一个文件夹专门用于存放图像文件(images),这时再插入图像,就需要采用“路径”的方式来指定图像文件的位置。
路径可以分为: 相对路径和绝对路径。
3.1 相对路径
以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对路径。
路径分类 | 符号 | 说明 |
---|---|---|
同一级路径 | 只需输入图像文件的名称即可,如<img src=“baidu.gif” />。 | |
下一级路径 | “/” | 图像文件位于HTML文件同级文件夹下(例如文件夹名称为:images) 如<img src=“images/baidu.gif” />。 |
上一级路径 | “…/” | 在文件名之前加入“…/” ,如果是上两级,则需要使用 “…/ …/”,以此类推, 如<img src="…/baidu.gif" />。 |
3.2 绝对路径
绝对路径以Web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。
“D:\web\img\logo.gif”,或完整的网络地址,例如“http://www.itcast.cn/images/logo.gif”。
注意:
绝对路径用的较少,理解下就可以了。 但是要注意,它的写法 特别是符号\
并不是 相对路径的 /
4. @拓展阅读
4.1 锚点定位 (难点)
通过创建锚点链接,用户能够快速定位到目标内容。
创建锚点链接分为两步:
1. 使用相应的id名标注跳转目标的位置。 (找目标)
<h3 id="two">第2集</h3>
2. 使用<a href="#id名">链接文本</a>创建链接文本(被点击的) (拉关系) 我也有一个姓毕的姥爷..
<a href="#two">
4.1.1 example07
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>圣诞的由来</title>
</head>
<body>
<h1>圣诞节的那些事</h1>
1.圣诞是怎样由来的 <br />
<a href="#man">2.圣诞老人的由来 </a> <br />
<a href="#tree">3.圣诞树的由来 </a> <br />
<hr />
<h2>圣诞是怎样由来的</h2>
<p>圣诞节是基督教世界最大的节日。一般认为12月25日作为圣诞节可能开始于公元336年的罗马教会。4世纪初,1月6日是罗马帝国东部各教会纪念<a href="yesu.html" target="_blank">耶稣</a>降生和受洗的双重节日,即上帝通过耶稣向世人显示自己。 这一天又是罗马历书的冬至节,意味着万物复苏的开始。可能由于这个原因,罗马教会才选择这一天作为圣诞节。后来,因为各地教会使用的历书不同,具体日期不能统一,于是就把12月24日到第二年的1月6日定为圣诞节节期(Christmas Tide),各地教会可以根据当地具体情况在这段节期之内庆祝圣诞节。 在欧美许多国家里,人们非常重视这个节日,把它和新年连在一起,而庆祝活动之热闹与隆重大大超过了新年,成为一个全民的节日。12月24日平安夜、12月25日圣诞节的主要纪念活动都与耶稣降生的传说有关 。</p>
<img src="images/t1.gif" />
<h2 id="man">圣诞老人的由来</h2>
<p>圣诞节当然少不了圣诞老人,根据圣经记载,书中并没有提起这一号人物。到底他是如何成为圣诞的主角之一呢?</p>
<img src="images/t2.jpg" />
<p>相传在一千六百多年前,荷兰巴里地方有一个老人,名叫尼古拉斯,他一生最爱帮助贫穷的人家。其中有一次他帮助三个贫穷的少女,送她们三袋金子以逃过被卖的不幸。
到了一八二二年,由荷兰传教士把这位伟大慈善家的故事传到美国,装扮圣诞老人渐渐地流行于世界各国。根据调查,以上故事还有下文;当尼古拉斯偷偷把其中一袋金子送给其中一名女子时,他把金子从其中一个窗户扔进去,恰好掉进晾在壁炉上的一只长袜中。于是,将礼物放在圣诞袜子的送礼方法便传到至今。</p>
<img src="images/t3.jpg" />
<p>在平安夜里,孩子总会把一双双色彩缤纷的袜子挂在床头,然后在袜子旁边放杯热牛奶让圣诞老人喝,以让劳苦功高的圣诞老人解渴,并送份大礼给自己。?</p>
<h2 id="tree">圣诞树的由来</h2>
<p>圣诞一直是庆祝圣诞节不可少的装饰物,如果家中没有圣诞树,就大大减少了过节气氛。关于圣诞树的来源有多种不同的传说。</p>
<p>其中一个是说:大约在十六世纪,圣诞树最先出现在德国,德国人把长青的松柏枝拿到屋中去摆设,将之成为圣诞树。后来,由德国人马丁路德把蜡烛放在树林中的枞树枝,然后点燃蜡烛,使它看起来像是引导人们到伯利恒去。而近今日,人们已经改用粉色的小灯泡了。
</p>
<img src="images/t4.jpg" />
<p> 另一个传说记载。在很久以前,曾有一位农民,在圣诞节那天遇到一个穷苦小孩,他热情地接待了这个儿童。儿童临走时折下一根松枝插在地上,松枝立即变成一棵树,上面都挂满礼物,以答谢农民的好意。</p>
<p>圣诞树真正出现在圣诞节时,首先见于德国,之后又传入欧洲和美国,并以其优美的姿态,成为圣诞节不可缺少的装饰。圣诞树的种类繁多,有天然松柏圣诞树、也有人造圣诞树及白色圣诞树。</p>
<p> 每棵圣诞树上都挂满琳琅满目的装饰品,但每棵树的顶端必定有个特大的星星,象征三博士跟随该星而找到耶稣,而且也只有该家庭的一家之主可以把这棵希望之星挂上。</p>
更多内容可以百度一下
<a href="http://www.baidu.com" target="_blank"> <img src="images/arr.gif" /> </a>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.09
Branch: branch01commit description:a0.09(example07—综合案例)
tag:a0.09
4.2 base 标签
语法:
<base target="_blank" />
如果有多个链接,都需要设置在新窗口打开,全部设置为 target=“_blank”
很麻烦,要是上百个呢? => 通过base标签解决。
**总结: **
- base 可以设置整体链接的打开状态
- base 写到
<head> </head>
之间 - 把所有的连接 都默认添加 target="_blank"
4.2.1 example08
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<base target="_blank">
</head>
<body>
<a href="http://www.baidu.com">百度</a>
<a href="http://www.sina.com">新浪</a>
<a href="http://www.sohu.com">搜狐</a>
<a href="http://www.163.com">网易</a>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.10
Branch: branch01commit description:a0.10(example08—base标签)
tag:a0.10
4.3 预格式化文本pre标签
<pre>
标签可定义预格式化的文本。
被包围在<pre>
标签 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
<pre>
此例演示如何使用 pre 标签
对空行和 空格
进行控制
</pre>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.11
Branch: branch01commit description:a0.11(预格式化文本pre标签)
tag:a0.11
所谓的预格式化文本就是 ,按照我们预先写好的文字格式来显示页面, 保留空格和换行等。
有了这个标签,里面的文字,会按照我们书写的模式显示,不需要段落和换行标签了。但是,比较少用,因为不好整体控制。
4.4 特殊字符 (理解)
一些特殊的符号,我们在html 里面很难或者 不方便直接 使用, 我们此时可以使用下面的替代代码。
虽然有很多,但是平时用的比较较少, 重点记住 空格 大于号 小于号(这三个) 就可以了,剩下的回来查阅。
总结:
- 是以运算符
&
开头,以分号运算符;
结尾。 - 他们不是标签,而是符号。
- HTML 中不能使用小于号 “<” 和大于号 “>”特殊字符,浏览器会将它们作为标签解析,若要正确显示,在 HTML 源代码中使用字符实体
团队约定
推荐:
<a href="#">more >></a>
不推荐:
<a href="#">more >> </a>
4.4.1 example09
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
楚乔是 燕洵 的 <br />
<p> 表示一个段落 < > 更多 >>
</body>
</html>
参考:https://github.com/6xiaoDi/blog-html/tree/a0.12
Branch: branch01commit description:a0.12(example09—特殊字符 )
tag:a0.12
4.5 html5发展之路
4.6 什么是XHTML
XHTML 是更严格更纯净的 HTML 代码。
- XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language)。
- XHTML 的目标是取代 HTML。
- XHTML 与 HTML 4.01 几乎是相同的。
- XHTML 是更严格更纯净的 HTML 版本。
- XHTML 是作为一种 XML 应用被重新定义的 HTML。
- XHTML 是一个 W3C 标准。
4.7 HTML和 XHTML之间有什么区别?
- XHTML 指的是可扩展超文本标记语言
- XHTML 与 HTML 4.01 几乎是相同的
- XHTML 是更严格更纯净的 HTML 版本
- XHTML 是以 XML 应用的方式定义的 HTML
- XHTML 是 2001 年 1 月发布的 W3C 推荐标准
- XHTML 得到所有主流浏览器的支持
- XHTML 元素是以 XML 格式编写的 HTML 元素。XHTML是严格版本的HTML,例如它要求标签必须小写,标签必须被正确关闭,标签顺序必须正确排列,对于属性都必须使用双引号等。
5. @深入阅读
HTML5火了。近两年,浏览器厂商们纷纷宣布支持HTML5,开发商们纷纷宣布转用HTML5开发产品,HTML5游戏厂商、HTML5游戏引擎提供商们也纷纷获得了至少千万级别的融资。
HTML5真的火了。那么HTML5究竟是什么呢?
众所周知,我们的整个互联网是由无数网页组合而成的,而网页的本质就是超文本标记语言HTML。可以说,HTML正是互联网的基石。
随着时代的发展,我们对互联网的需求越来越多,可作为基石的HTML标准却还停留在上世纪90年代的HTML4上。
落后的技术无法满足我们的需求,于是我们转而借助第三方多媒体框架例如Flash,来让我们的网站更加炫酷;我们又开发了各种APP,来让我们可以在移动终端上享受互联网服务。这时候,就像电影《大圣归来》中的孙悟空一样,HTML的第五次重大修改——
HTML5,带着众多的优点归来了:
1、 它使页面可直接播放多媒体元素,你可以忘掉第三方插件了;
2、 它的Web属性带来跨平台能力,一次开发,各系统各终端普遍适用;
3、 它更加语义化、标准化,更加易用;
4、 本地存储;
5、 它还具备实时更新能力,用户只需刷新便可获得最新内容;
6、 它使内容可被搜索引擎检索,利于SEO;
7、 相对原生APP而言,它使你的产品无需安装,易于分发;
……
拥有这么多令人垂涎的优势,HTML5自然会火。那么是谁造就了HTML5?它又是怎么崛起的呢?
故 事的开始是个悲剧。1997年,W3C(万维网联盟)发布HTML4后,宣布停止HTML的版本迭代演进并解散了HTML工作组,转向开发更为严谨的 XHTML标准。原因是HTML标准太过“宽容”,即使你的HTML网页里有几处错误,浏览器依然会通过自动纠错的方式保证页面可以正确显示。
因此,错误也就永远无人改正。而XHTML是严格的,不容许页面存在错误。W3C试图用严格的标准来使互联网发展更加规范。出发点虽好,但效果不佳,因为改 用XHTML标准将导致互联网99%的HTML网页需要重写。而Opera、Mozilla基金会、苹果这些浏览器厂商则在2004年组建了民间组织 WHATWG,开始尝试在更加“宽容”的传统HTML框架下,开发具备向后兼容性的下一代HTML。
就在W3C还在争论是XHTML2还是HTML5的时候,互联网格局已经发生了变化。
2005年前后,随着宽带的普及和电脑性能的提升,人们不再满足于仅用互联网来看新闻和发邮件。
于是,消耗更高带宽的娱乐形式,流视频和网页游戏诞生了。此时的HTML错过了这次机会,这块新需求被浏览器插件满足了,那就是Flash。
Adobe收购Macromedia后通过Flash攫取了大量的财富,这让Google、苹果等作为W3C主席单位的各浏览器厂商很是不甘。
2006年10月,WHATWG在HTML上取得突破性进展。于是为了尽快夺回Adobe抢占的市场,W3C决定停止XHTML的工作,转而与WHATWG合作,共同推进开发不需插件就能在移动端播放多媒体的下一代HTML。
2008年,第一个HTML5草案诞生。同年,IE、Chrome、FireFox、Safari几大浏览器巨头开始相继支持HTML5。
到了2010年,乔布斯乔帮主公开封杀Flash,力挺HTML5,彻底遏制了Flash的发展。
移动互联网时代的到来,使得HTML5的优势更加凸显。
2011 年,由于移动浏览器对HTML5的普遍支持,和iOS对Flash的强势拒绝,使得Adobe不得不宣布停止为移动设备开发Flash播放器。这一年的 HTML5风头正劲,据统计全球前100的网站已有34%在使用HTML5。迪士尼也在这一年斥巨资收购了一家HTML5游戏引擎开发商,意图打造 HTML5游戏来避开苹果App Store的控制和30%的分成。前途已经一片光明HTML5,没想到竟要经历一场巨大的风暴。
很多大公司都在推动着HTML5的发展,其中以Facebook的扎克伯格最为疯狂。作为技术极客的他誓要利用HTML5的Web APP来打破iOS和Android的垄断。
Facebook加入W3C后,牵头成立了MobileWeb工作组。这个小组的目标是让由HTML5开发的Web APP能够达到原生APP的体验。
与此同时Facebook用HTML5开发了自己的Web APP,希望这样可以让自己不会受到苹果和Android的控制。但其结果却是该Web APP的用户体验极差,与Twitter等竞争对手的原生APP相比差距巨大。
2012年,扎克伯格宣布Facebook应用放弃HTML5部分,改为纯原生方式开发。一句“押注HTML5是Facebook最大失误”彻底将HTML5打入了冷宫。
笔者认为,在2012年HTML5确实还不具备开发优秀移动APP的能力。
一方面是外部条件不具备,比如硬件性能以及浏览器内核对HTML5的支持程度不足;
一方面是HTML5技术本身还有不完善之处;
还有一方面是工程师的能力不足。
同年,HTML5的标准制定者W3C和WHATWG也表示无法继续合作了。前者希望制定一个死的标准,颁布之后再不修改;后者希望标准能够跟随市场及技术的 发展而动态调整。前者拉到了微软撑腰,后者则有苹果和Google支持。另外,原本一直是HTML5坚定后盾的苹果也不再允许纯Web APP套壳登录 App Store。
在灭掉Flash时HTML5为冲锋枪,但移动端干掉Flash后,苹果却是要维护自身封闭生态系统的巨大利益的。因此细看之下HTML5的崛起之路其实不只是励志剧,还是宫斗剧。
在经历了上述两次巨震之后,HTML5着实沉默了一段时间。奚落者有之,嘲笑者有之,仿佛HTML5已死。但在此期间,HTML5依然显现了强大的生命力。它所带来的诸多优势始终吸引着开发者们继续探索。
终于,在2014年10月底,W3C宣布HTML5历时8年终于定稿。
这个时机,笔者认为不早不晚,刚刚好:
首先,从2011年iPhone4S的A5处理器,到现在iPhone6的A8处理器,按苹果官方的说法,速度提升了约7.5倍。这7.5倍的速度提升,抹平了太多了性能问题;
其次,苹果、Android两大系统及各个浏览器经过时间的沉淀对HTML5的支持也越来越好;
最后,经过时间的积累,有大量的HTML5开发引擎和工具在2014年涌现出来,为HTML5的爆发铺平了道路。
如今,随着《围住神经猫》刷爆朋友圈,人们又开始了对HTML5的关注。而且随着各方条件的相继备齐,HTML5显露出了燎原之势,彻底火了。
纵 观目前为止HTML5标准的发展历程,可以说就是商业利益不断博弈的过程。它的诞生,既是为了满足人们的需求,也是为了达到洗牌利益重新分配的目的。它的 强大,既是为了造福全球,也是为了击败竞争对手。就结果而言,巨头们出于各自的目的造出了强大的HTML5。它的崛起,意味着变革将至。谁能在这场变革中 更好的利用它,谁便可以占得先机。
那么在这场变革中,我们又该如何看待呢?
HTML5作为一套新的标准,代表着移动互联网的趋势和未来。几乎所有人都能预见到它巨大的潜力。但它在各个领域具体是以怎样的形态落地,如何改变人们的生活或是改变行业的业态,人们很难预测。这需要我们不断地探索和思考。
HTML5的天花板有多高,正是由我们每一个从业者决定的。
HTML5崛起之路的后半程,就靠我们来完成了。
(后续待补充)