「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」
那一年,网络上,工作中,同事间,谈论最多的就是的 h5,大家都说这个东西很火,未来会更火。这是个什么东西?这与我们天天用的 html5 又有什么关系呢?
最起初的时候,相信很多小伙伴都把 h5 当作 html5 的缩写了吧? 😊(曾几何时的很多年,我都是一直这么认为的,不就相差 3 个字母嘛,有啥大不了的,就是缩写啦)
可事实并非如此。。。
其实在 html5 和 css3 出现之前,网页的一些特效大多都是用 flash 来完成的(最初也是因为想要学习 flash 的 as3 语言,误打误撞地学了一点点前端的标签和简单的css,再加上套个 jquery 的 js 框架)
html5 的出现,带来了 audio、video 标签(赋予了多媒体的功能),svg、 canvas 标签(赋予了展示图形的功能),以及一些语义化的标签
css3 的出现,更是为 web 带来了更多动效(动画、渐变、过渡 2D 3D、弹性布局)
在二者完美滴结合下,终于干掉了称霸 web 动效届多年的 flash。
h5 也在 html5 和 css3 的催化下,诞生了很多的营销活动界面,服务于各行各业。
在了解了 h5 !== html5 之后,我们再来看看 html5 和 html4 之间又有什么样的剪不断理还乱的牵绊呢???
要知道,在 html4 时代,文档的开头可是有很长很长一段 DOCTYPE 的声明
// Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
// Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
// Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
到 html5 之后,终于被简化为 <!DOCTYPE html> 了,这是由于 html5 不需要引用 DTD,因为 html5 不是基于SGML的。
html4 的编码也是可老长了,就长这样 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
到 html5 终于有改观了,变成了这样 <meta charset="UTF-8">
html5 也抛弃了 html4 中的 frame 标签(不利于页面可用性),只留下了 iframe 标签,不过现在用的比较 🔥 火热 🔥 的三大框架,都采用了单页面应用,模块化开发,甚至一些前沿的公司也都开始用上了微前端的框架,iframe 的使用也逐渐被边缘化了。
html5 沿用了一部分的 html4 的标签,在其基础上对个别的标签表示的意思也做了修改,同时也弃用了一部分的标签
html5 还为前端性能优化带来了 localStorage 和 sessionStorage,可以对更多的数据进行前端的缓存,这也解决了 cookie 存储数据受限的问题。
综上,html5 和 html4 之间采用的文档编写的标准不同,html5 是超文本标记语言的第五次重大修改,历经 8 年取经之路,方得以与广大前端的小伙伴见面。