小白学《HTML5网页开发实例详解》连载三(DOCTYPE和字符集)

    在2.1.2节中通过新老DOCTYPE的对比,读者可以清晰地看到HTML 5在精简旧有结构上做出的努力。DOCTYPE在出现之初主要用于XML中,用作描述XML允许使用的元素、属性和排列方式。起初HTML借鉴了XML中DOCTYPE的使用方法,并赋予了新用法,如大家熟知的触发浏览器的标准模式。假使在制作一张页面时,没有设定DOCTYPE,则浏览器会以怪异模式状态进行处理(即Quirks模式),该模式与标准模式在盒模型、样式、布局等都存在较大差异。因此,DOCTYPE在制作页面时是不可或缺的部分。

在上一版本HTML 4标准中,DOCTYPE被分为3种模式:


  • 严格模式,即严格遵循W3C标准的模式,代码格式如下:

点击(此处)折叠或打开

  1. <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">
  • 过渡模式,包含了W3C标准的内容,同时还可以使用不被W3C推荐的标签,如font、b等,而且不可以使用框架元素(即frameset元素),代码格式如下:

点击(此处)折叠或打开

  1. <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML4.01 Transitional//EN\"\"http://www.w3.org/TR/html4/loose.dtd\">
  • 框架模式,可以使用框架元素,其他与过渡模式相同,代码格式如下:

点击(此处)折叠或打开

  1. <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">

 提示:旧有的HTML关于DOCTYPE标准,读者可以参看W3C官方文档说明,网页地址:http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html#h-7.2。虽然之前版本的HTML对DOCTYPE做了重重规定,但真实情况却是浏览器会尽最大的可能渲染对应的页面,即使可能出现了一些不符合模式的做法,唯一会出现的是浏览器会在控制台中显示一些错误警告,这种做法就是常说的浏览器容错性,实则是对市场和用户的妥协。

    故事发展到HTML 5,W3C将DOCTYPE剔除原有鸡肋的声明方式,简化为如下格式:


点击(此处)折叠或打开

  1. <!DOCTYPE html>
对于绝大多数开发者来说,只需要使用这一种方式就足以满足日常的开发使用,但如果要考虑到日后的兼容和扩展等一系列问题,还需要了解W3C在新制定DOCTYPE的一些新规定,主要分为3类:
  • 普通模式,即
  • 弃用模式,听起来不知所云,其实指的就是对过往模式的兼容模式,不过HTML5弃用了之前的过渡模式和框架模式,最终留下了6种书写格式,代码如下:
点击( 此处 )折叠或打开
  1. <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML4.0//EN\">
  • 遗留兼容模式,对于过往无法考证规则的一种兼容方式,语法格式如下:

点击(此处)折叠或打开

  1. <!doctype HTML system\"about:legacy-compat\">

对于日常使用网站开发而言,结合HTML 5的字符集使用,笔者给出如下建议:


  •  最优先使用HTTP请求头指定编码。
  •  统一全站字符集编码,HTML 5推荐UTF-8字符集。
  • 使用meta标签确认字符集编码,尽可能放在html标签的第一个子元素位置。
  • 第三方引用的脚本,在不确认字符编码时,加上charset属性设置编码格式。


学习HTML5最好的书就是《HTML5网页开发实例详解》,用代码学习用案例学习,可比看文字有趣多了!!!一本书搞定HTML5,从现在开始。



本书帮你从HTML 4时代过渡到HTML 5时代;

本书提供现实生活中的应用,包括移动应用和普通PC应用;

本书会涉及HTML 5的游戏库、图表库、框架介绍和案例;

本书从现实的表单使用场景出发,解决低版本浏览器的兼容问题;

本书介绍各种W3C规范来自什么标准,用向何处;

本书提供多套作者自己实际应用的跨浏览器的原生解决方案。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14741331/viewspace-1227164/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14741331/viewspace-1227164/

你可能感兴趣的:(小白学《HTML5网页开发实例详解》连载三(DOCTYPE和字符集))