如果你看好HTML5,你一定会用HTML5来重构您的网站,不妨来尝试一下,如何构建一个完整的HTML 5 Web页面?

不可忽视的 DOCTYPE (文档类型)
在所有 HTML 文档中规定文档类型很重要,这样浏览器才能了解所预期的文档类型.。<!DOCTYPE> 声明告知浏览器文档所使用的 HTML 规范。

HTML5有了新的改变,HTML 5 是使用新的doctype,它为我们省去了HTML4 和 XHTML 难以记忆的公共标识符(PUBLIC)和DTD.

因为以前的HTML 4.01 基于 SGML,HTML 4.01 中的 doctype 需要引用一个 DTD,HTML 5 不基于 SGML,也不需要引用 DTD,但是需要声明文档类型让浏览器按照它们应该的方式来运行。

在 HTML5 中,文档类型声明很简单:

<!DOCTYPE html>
在所有 HTML 文档中规定文档类型很重要,这样浏览器才能了解所预期的文档类型。

HTML5的文档类型声明,够清爽的吧,也非常容易记住,而且此标签没有结束标签 , 对大小写也不敏感。与现在广泛使用的版本要简单得多了,而且保持了向后兼容。

Google 的做法:

如果我们打开谷歌主页的源代码,我们会发现Google也在那么做。全部写于一行的源代码:

<!doctype html><html><head><title>Google</title><script>...
讽刺地说,谷歌的搜索和结果页是不作验证的,因为他们喜欢使用 一些像 <font> 等不提倡和废弃的标签,还有一些其他的错误,但没关系。

他们可以仍然可以利用HTML 5解析规则(例如,在的没有类型属性的<style> 和 <script> 元素)通过使用正确的DOCTYPE,成为合格的文档。

HTML 5 minified

如果你想得到一个更简单的HTML5文档,以下的写法,使你得到一个更加迷你的文档。
<!DOCTYPE html>
<title>Small HTML 5</title>
<p>Hello world</p>

它通过了completely valid HTML 5。

HTML 5 complete & compatible

这是一个有效的和完整的HTML 5的样板:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML 5 complete</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section { display: block; }
</style>
</head>
<body>
<p>Hello World</p>
</body>
</html>

HTML5的兼容性处理

我们在上的代码中发现了这样的一段代码:

它是作用就是使IE8和更低IE版本支持HTML5.

这就是我们最关心的浏览器对HTML5的支持问题。目前 HTML5 的structural elements
将在 (Firefox 3+, Safari 3+, Opera 9+, Chrome 1+)等浏览器中得到了支持。

如果你想了解更多的兼容数据,请看《CSS3 和 HTML5 兼容性测试 》日志。

如果要使用这些HTML5的新元素,第一步,我们要做的是将它们声明为CSS的块级元素:

/* Declaring HTML5 elements */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{
display: block;
}
一个完整的HTML5的重置样式表。

重置样式源代码来源: HTML5 Reset Stylesheet文章。

我们要想得到IE8和以下版的支持,需要通过JavaScript支持。

(function(){if(!/*@cc_on!@*/0)return;var e = "abbr,article,aside,audio,canvas,details,figcaption,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,summary,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()
我们建议你使用Remy Sharp’s的谷歌代码托管 的JavaScript 来支持HTML5,并把它放在 页面的< head > 里。

<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

我们再来看一下完整的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML 5 complete</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section { display: block; }
</style>
</head>
<body>

需要我们值得我们注意的是,我们必须保证我们的IE 浏览器没有禁用JavaScript,对不对?

如果我们在个人的博客或设计论坛上应用了HTML5,当然不用担心IE的JavaScript是否被禁用,出现问题当然不会有麻烦。如果你在新的商业项目上采用了HTML5,如果你的用户禁用了IE浏览器的JavaScript的话,HTML5的新元素和相关的结构将被丢弃,就会出现网页“裸奔”的效果(你是否觉得似曾相识),哈哈。

这个时候,就会有用户自动找上门来,麻烦来了。你是否有个念头想抛弃IE,但是你已经有点极端的倾向了。对于网络应用程序,IE还是担当者重要的角色,我们的国民都在使用IE,就连那些好用的国产浏览器也是IE的核心。放弃了IE就等于放弃了用户,后果你已经想到了。

你也许会认为IE如果缺乏没有JavaScript支持这些新的元素意味着你不能使用所有 HTML5新标签。

但有两个方面,我们仍然可以从中受益,一方面是HTML5为我们提供了丰富的语义,我们可以使用HTML5的语义名称作为&<div>的类名,也算是向HTML5过渡吧,无论在 HTML4/XHTML1.0或HTML5中都可以使用。

你可能已经在使用一组标准的id 名称或class名称,好处是你得到了一组标准的类名语义。HTML5基本上是HTML4/XHTML1的一个超集,所以,只要不使用HTML5的新的内容,是可以在IE中工作的。

以上这些举措,可以简化未来的工作。

来源:http://cssrainbow.cn

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
文章引用地址:http://www.iefans.net/html5-yangban-jianrong-ie/ 作者:iefans

转载于:https://www.cnblogs.com/ws_zst/archive/2013/05/22/3092195.html

HTML5入门之样板和兼容IE浏览器篇相关推荐

  1. html5 video.js 使用及兼容所有浏览器

    http://www.itnose.net/detail/6076396.html 一.准备材料 video.js下载: http://www.videojs.com/ 二.代码 引入相关文件: 贴入 ...

  2. HTML5 标签、事件句柄属性以及浏览器兼容情况速查手册

    随着主流浏览器对 HTML5 的不断支持和完善,越来越多的开发者开始使用 HTML5 来开发各种功能强大的 Web 应用程序,HTML5 正引领互联网新革命.为了方便大家更好的学习 HTML5,今天这 ...

  3. html5 复制到剪贴板 兼容,js/jQuery实现复制到剪贴板功能,兼容所有浏览器

    因为工作的原因,需要实现这样一个功能:点击按钮,复制文本内容. 百度了一下,大都语焉不详,最终找到了一篇很好的博文,有讲解,有实例,捣鼓了一会,最终实现了功能. 网址在这里http://www.cnb ...

  4. HTML5新标签对IE低版本浏览器的兼容处理

    问题概述:IE8浏览器中还没有添加对HTML5新标签的支持,当在页面中使用HTML5新标签时,新标签不兼容 1)使用JavaScript新增元素的方法解决 注意:使用javascript新增元素的方法 ...

  5. web HTML5新标签对IE低版本浏览器的兼容处理

    1)使用JavaScript新增元素的方法解决 注意:使用javascript新增元素的方法解决,新增的出来的html5标签是行级元素,需要css把行内元素转为块 ​//js创建html5标签docu ...

  6. html5中加视频的代码,向HTML中插入视频并兼容所有浏览器的方法

    向HTML中插入视频有两种方法,一种是古老的object标签,一种是html5中的video标签,前者兼容性相对好些,后者兼容性让人头疼 最常用的向HTML中插入视频的方法有两种,一种是古老的标签,一 ...

  7. html5+php视频播放器,一个好用的html视频播放器兼容主流浏览器

    最近工作上的需求需要对移动客户端上发送的视频在网页上播放,and 上传视频并在网页上播放(例如上传教学视频或者动态分享等)(博主碎碎念:移动客户端上传的你不会用手机的播放器看啊,网页上上传你不会上传到 ...

  8. html5 复制到剪贴板 兼容,JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)

    两天前听了一个H5的分享,会议上有一句话,非常有感触:不是你不能,而是你对自己的要求太低.很简单的一句话,相信很多事情不是大家做不到,真的是对自己的要求太低,如果对自己要求多一点,那么你取得的进步可能 ...

  9. html5 加入收藏夹,js添加到收藏夹代码 兼容所有浏览器

    介绍一个可兼容所有浏览器的加入收藏代码代码,大概原理是这样的我们根据获取用户navigator.userAgent.toLowerCase()信息来判断浏览器,根据浏览器是否支持加入收藏js命令,如果 ...

最新文章

  1. 计算机改名后无法上网,CDEF磁盘分区无法修改名字修复方法
  2. (0051)iOS开发之沙盒(sandbox)机制和文件操作(一)
  3. ubuntu 16.04忘记登录密码的解决办法
  4. 防止头文件的重复包含
  5. Visual Studio 2010旗舰版在安装Windows Phone 7 SDK后项目模版里没有Windows Phone 项目解决办法...
  6. pytorch-多GPU训练(单机多卡、多机多卡)
  7. CVPR 2020|开源实时“人手-物体”姿态估计算法HOPE-Net
  8. [容易]在二叉查找树中插入节点
  9. centos7下安装oracle11gR2
  10. vscode配置及快捷键(未完成待续)
  11. GJB-150湿热试验,国军标150试验机构
  12. CSS 世界 阅读笔记:(Ch1-Ch3)
  13. html 怎么让背景图铺满整个页面
  14. [附源码]java毕业设计基于Java的快递驿站管理系统
  15. Ramnit感染型病毒创建傀儡进程的方法
  16. 小程序发布测试版本步骤
  17. BigDecimal出现多位小数问题
  18. Mac conda 使用
  19. 异常行为分析模型设计
  20. 开源网络电话软件及服务

热门文章

  1. 必须采用初始化列表一共有三种情况
  2. 用宏定义实现函数值互换
  3. java list子类_List集合的子类ArrayList、LinkedList、Vector
  4. java如何实现redis分片存储_面试官:你说一下Redis吧,怎么实现高可用,还有持久化怎么做的?...
  5. mysql 分时统计_mysql中数据统计的技巧备忘录
  6. 微信和支付宝中的一些常用方法封装
  7. 合成模式(Composite)
  8. 专业实训题目需求分析
  9. C++面试题:list和vector有什么区别
  10. UA SIE545 优化理论基础1 凸分析8 极点与极方向