小强的HTML5移动开发之路(3)——HTML5与HTML4比较
来自:http://blog.csdn.net/dawanganban/article/details/17652873
在前面介绍了HTML5的新特性,新标签的使用,智能表单设计,引入多媒体对象,Canvas对象你的画布,扩展图形标记,HTML5中的地理应用,独立数据存储,新的网络连接。
HTML 5是近十年来Web开发标准最巨大的飞跃。和以前的版本不同,HTML 5并非仅仅用来表示Web内容,它的新使命是将Web带入一个成熟的应用平台,在HTML 5平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化。(HTML5也有了自己的logo).学习HTML5需要掌握下面几方面知识。
1、HTML基础知识
2、CSS样式知识
3、JavaScript知识
很多以前学过HTML 4.0的朋友可能此时会感到很迷惑,到底html 4.0和HTML5的区别是什么,学过html4.0会对学习HTML5有什么帮助 其实HTML5和HTML4最大的区别就是HTML5更加注重内容与结构而不专注表现,举个例子:
- <body>
- <header>
- <hgroup>导航相关数据</hgroup>
- </header>
- <nav>菜单</nav>
- <article>
- <h1>标题:HTML5专题</h1>
- 发布日期:<time>19:00</time>
- <time datetime="2013-2-14">情人节</time>
- <p>测试相关内容</p>
- </article>
- <footer>
- <address>CSDN-大碗干拌的博客</address>
- </footer>
- </body>
像上面这个html5中的很多标签,在以前的html4中我们都可以使用<div>标签代替,那么为什么还有用这么多没有使用过的标签呢,这反而增加了记忆难度?事实上不是这样的,这样做有很多好处,这些特定名称的标签更容易区分各自的功能,比如可以同时在PC浏览器和移动端浏览器上识别并以很好的布局展现。
还有一个区别就是,HTML5在更多的声明和标签上面做了简化,也对兼容做了详细的规定,废除了部分元素,增加了部分元素,如下面的声明:
HTML4的声明:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
- Transitonal//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-t......
- <html xmlns="http://www.w3.org/1999/xhtml">
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
HTML5的声明:
- <!DOCTYPE html>
- <meta charset=utf-8/>
在引入JavaScript或CSS文件的时候,HTML4中写法如下:
- <script src="js/juery-1.6.2.js" type="text/javascript"></script>
在HTML5中变的更简单:
- <script src="js/juery-1.6.2.js"></script>
不仅如此,HTML5接受一些比较松散的的语法,比如<sCript><script>大小写混用。
从上面可以看出HTML5在以前浏览器发展的基础上对标签进行了简化。另外HTML5中对标签从语法上也进行了分类:
(1)不允许写结束符的标签:area、basebr、col、command、embed、hr、img、input、keygen、link、meta、param、source、Track、wbr
(2)可以省略结束符的标签:li、dt、dd、p、rt、optgroup、option、colgroup、thread、tbody、tr、td、th
(3)可以完全省略的标签:html、head、body、colgroup、tbody
在html4的基础上html5也新增了很多标签,下面列举部分新增标签:
- <article> 标记定义一篇文章
- <aside> 标记定义页面内容部分的侧边栏
- <audio> 标记定义音频内容
- <canvas> 标记定义图片
- <command> 标记定义一个命令按钮
- <datalist> 标记定义一个下拉列表
- <details> 标记定义一个元素的详细内容
- <dialog> 标记定义一个对话框(会话框)
- <embed> 标记定义外部的可交互的内容或插件
- <figure> 标记定义一组媒体内容以及它们的标题<footer> 标记定义一个页面或一个区域的底部
- <header> 标记定义一个页面或一个区域的头部
- <hgroup> 标记定义文件中一个区块的相关信息
- <keygen> 标记定义表单里一个生成的键值
- <mark> 标记定义有标记的文本
- <meter> 标记定义 measurementwithin apredefinedrange
- <nav> 标记定义导航链接
- <output> 标记定义一些输出类型
- <progress> 标记定义任务的过程
- <rp> 标记是用在Rubyannotations 告诉那些不支持Ruby元素的浏览器如何去显示
- <rt> 标记定义对rubyannotations的解释
- <ruby> 标记定义 rubyannotations.
- <section> 标记定义一个区域
- <source> 标记定义媒体资源
- <time> 标记定义一个日期/时间
- <video> 标记定义一个视频
以前制作网页头部导航的代码如下:
- <div class="header">
- <div class="navigation">
- <ul class="nav_list">
- <li><a href="#" title="Home">Home</li>
- <li><a href="#" title="About">About</li>
- </ul>
- </div><!--导航标签结束-->
- </div><!--头部结束-->
用HTML5实现如下:
- <header>
- <nav>
- <ul id="nav-list">
- <li><a href="#" title="Home">Home</a></li>
- <li><a href="#" title="About">About</a></li>
- </ul>
- </nav>
- </header>
有朋友可能会问了,这样写有什么优势吗?在HTML5中用独立的标签代表特定的功能,比如<header>表示头部,<nav>表示导航,这样代码变的非常有语义且容易理解(不用像上面一样添加额外的注释),同意对于搜索引擎来说,更容易找到。
小强的HTML5移动开发之路(3)——HTML5与HTML4比较的更多相关文章
- 小强的HTML5移动开发之路(42)——HTML4与HTML5文档结构比较
一般来说,人们在书写包括HTML在内的文档时,习惯上按照类似于"章--节--小节"这样的层次结构来进行. 在HTML4中的描述方式: <html> <head&g ...
- 小强的HTML5移动开发之路(18)——HTML5地理定位
来自:http://blog.csdn.net/dawanganban/article/details/18192091 在前面的<小强的HTML5移动开发之路(2)--HTML5的新特性> ...
- 小强的HTML5移动开发之路(14)——Video标签详解
来自:http://blog.csdn.net/dawanganban/article/details/18180605 在前面的小强的HTML5移动开发之路(5)--制作一个漂亮的视频播放器中制作了 ...
- 小强的HTML5移动开发之路(13)——HTML5中的全局属性
来自:http://blog.csdn.net/dawanganban/article/details/18179483 一.accssskey 快捷键 <!DOCTYPE HTML> ...
- 小强的HTML5移动开发之路(11)——链接,图片,表格,框架
来自:http://blog.csdn.net/dawanganban/article/details/18098193 一.HTML是什么? HTML(hypertext mark-uplangua ...
- 小强的HTML5移动开发之路(37)——jqMobi快速入门
在<小强的HTML5移动开发之路(33)-- jqMobi基础>中我们了解了什么是jqMobi,并从官方下载了jqMobi开发包,下载后解压目录如下: 拷贝上面的/css目录./plugi ...
- 小强的HTML5移动开发之路(12)——从一个多媒体标签说起
来自:http://blog.csdn.net/dawanganban/article/details/18136813 一.视频播放 <html> <head> <ti ...
- 小强的HTML5移动开发之路(1)——HTML介绍
来自:http://blog.csdn.net/dawanganban/article/details/17591373 HTML是HyperText Markup Language(超文本标记语言) ...
- 小强的HTML5移动开发之路(53)——jQueryMobile页面间参数传递
在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ...
随机推荐
- PHP 5 常量
PHP 5 常量 常量值被定义后,在脚本的其他任何地方都不能被改变. PHP 常量 常量是一个简单值的标识符.该值在脚本中不能改变. 一个常量由英文字母.下划线.和数字组成,但数字不能作为首字母出现. ...
- Docker 列出镜像
使用 docker images 显示本地已有的镜像. $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu ...
- android 小项目------黑名单app
周一的时候,同事在群里问到了黑名单功能,他说网上都没有找到一个完整的,记得谁说过一句,当都没有做过的时候,这就是机会.这几天公司事比较多,只能晚上抽时间写写,直到今天才完整的做出来. 具体效果的话大家 ...
- RX系列四 | RxAndroid | 加载图片 | 提交表单
RX系列四 | RxAndroid | 加载图片 | 提交表单 说实话,学RxJava就是为了我们在Android中运用的更加顺手一点,也就是RxAndroid,我们还是先一步步来,学会怎么去用的比较 ...
- Lua判断OS并添加cpath
Lua判断OS并添加cpath(金庆的专栏)Lua初始化时需要根据OS来设置package.cpath, 如果是Windows系统则添加 ?.dll, 否则添加 ?.so.不然加载错误后缀名的动态库会 ...
- 可能是CAP理论的最好解释
一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅. Chapter 1: "Remembrance Inc" Your new venture : ...
- Linux 高性能服务器编程——I/O复用的高级应用
高级应用一:非阻塞connect connect系统调用的man手册中有如下的一段内容: EINPROGRESS The socket is non-blocking and the connecti ...
- SpriteKit关于SKScene中的渲染Loop
在本节中,我将来说明一下SKScene在SKView显示之后发生了神马. 在更传统的iOS app中,你可能只会渲染view的内容仅仅一次,然后它将保持静态直到view的模式发生了显示的改变,这对于商 ...
- 下载Android源代码编译错误总结
错误1: prebuilts/sdk/api/18.txt:22055: error 9: Removed public method android.telephony.gsm.SmsMessage ...
- JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用
本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式.结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性. 模块申明式容器:JBOSS EAP不再有lib的 ...