自由HTML5串行来到《HTML5具体解释Web开发的例子》连载(三)DOCTYPE和字符集
于2.1.2通过新老科DOCTYPE控制,读者可以清晰地看到HTML 5精简旧体制的努力取得。
DOCTYPE主要用于在开始的情况下,XML于,用作叙述性说明XML同意使用的元素、物业和安排。起初HTML绘制XML于DOCTYPE用法。并赋予了新的用途。触发浏览器的标准模式。假使在制作一张页面时。没有设定DOCTYPE,则浏览器会以怪异模式状态进行处理(即Quirks模式),该模式与标准模式在盒模型、样式、布局等都存在较大差异。因此,DOCTYPE在制作页面时是不可或缺的部分。
在上一版本号HTML 4标准中。DOCTYPE被分为3种模式:
- 严格模式,即严格遵循W3C标准的模式,代码格式例如以下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- 过渡模式,包括了W3C标准的内容,同一时候还能够使用不被W3C推荐的标签,如font、b等,并且不能够使用框架元素(即frameset元素),代码格式例如以下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
- 框架模式。能够使用框架元素,其它与过渡模式同样,代码格式例如以下:
<!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剔除原有鸡肋的声明方式。简化为例如以下格式:
<!DOCTYPE html>
对于绝大多数开发人员来说,仅仅须要使用这一种方式就足以满足日常的开发使用,但假设要考虑到日后的兼容和扩展等一系列问题,还须要了解W3C在新制定DOCTYPE的一些新规定。主要分为3类:
- 普通模式。即<!DOCTYPE html>
- 弃用模式,听起来不知所云,事实上指的就是对过往模式的兼容模式。只是HTML5弃用了之前的过渡模式和框架模式,终于留下了6种书写格式,代码例如以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- 遗留兼容模式。对于过往无法考证规则的一种兼容方式,语法格式例如以下:
<!doctype HTML system"about:legacy-compat">
通过对浏览器DOCTYPE的理解,读者能够熟悉浏览器模式的触发方式,只是就通常开发而言。仅仅须要使用<!DOCTYPEhtml>这一种普通模式。
提示:HTML 5最新3种模式能够查看链接http://dev.w3.org/html5/markup/syntax.html#doctype-syntax。
所谓的字符是对各种文字和符号的总称,涵盖了各国文字、标点符号、图形符号和数字等。字符集是对多个字符的集合,经常使用的字符集有:ASCII、GB2312、Unicode、ISO等。科学家为了让计算机准确地处理各种字符集,须要对字符进行编码,以便计算机可以识别和存储各种文字。
在HTML 5出现之前。浏览器会依据3种方式确认页面的编码格式,按优先级排列例如以下:
- 获取HTTP请求头中的Content-Type字符相应的值。
- 使用meta标签声明。语法格式例如以下:
<meta http-equiv="Content-Type"content="text/html; charset=utf-8">
- 外链资源使用charset属性声明编码格式。如script标签中使用语法格式例如以下:
<script type="text/javascript"src="myscripts.js" charset="UTF-8"></script>
HTML 5出现后。对字符集的使用做了大量的简化,能够使用下面语法进行字符集声明:
<meta charset="utf-8">
对于日常使用站点开发而言。结合HTML 5的字符集使用,笔者给出例如以下建议:
- 最优先使用HTTP请求头指定编码。
- 统一全站字符集编码。HTML 5推荐UTF-8字符集。
- 使用meta标签确认字符集编码。尽可能放在html标签的第一个子元素位置。
- 第三方引用的脚本,在不确认字符编码时。加上charset属性设置编码格式。
学习HTML5最好的书就是《HTML5网页开发实例具体解释》。用代码学习用案例学习,可比看文字有趣多了!!
!一本书搞定HTML5,从如今開始。
版权声明:本文博主原创文章。博客,未经同意不得转载。
自由HTML5串行来到《HTML5具体解释Web开发的例子》连载(三)DOCTYPE和字符集的更多相关文章
- activiti并行和串行区别
多实例还有并行.串行区分.以下解释一下什么是并行与串行 并行代表同时进行,如把任务分给5个人来处理,这5个人同时会收到任务,并且可以同时处理,不受各自的影响. 串行代表工作或任务由一个人完成后,再由另 ...
- SPI、I2C、UART三种串行总线协议的区别
第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous R ...
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...
- 感谢各位亲们的大力支持,免费的HTML5学习课程《HTML5网页开发实例具体解释》连载已经结束了!
感谢各位亲们的大力支持,免费的HTML5学习课程<HTML5网页开发实例具体解释>连载已经结束了. 有兴趣的读者能够看我的博客,也能够看以下的链接逐个学习: 当里个当.免费的HTML5连 ...
- 学习HTML5必读之《HTML5设计原理》
引子:很久前看过的一遍受益匪浅的文章,今天再次转过来,希望对学习HTML5的朋友有所帮助. 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一方面,当然了,就是HTML5.我可以站在这儿只讲HT ...
- 痞子衡嵌入式:揭秘i.MXRTxxx系列上串行NOR Flash双程序可交替启动设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT500/600上串行NOR Flash双程序可交替启动设计. 在上一篇文章 <i.MXRT1170上串行NOR Fla ...
- (九)串行口方式0 拓展并行输入端口 74LS165 芯片
74LS165芯片讲解: 外接一个同步移位寄存器 74LS165芯片,拓展一个 8 位 并行输入端口的电路, 可将接在74LS165芯片的8个开关 S0——S7 的状态 通过 串行口方式 0 读到 单 ...
- 【Arduino】使用C#实现Arduino与电脑进行串行通讯
在给Arduino编程的时候,因为没有调试工具,经常要通过使用串口通讯的方式调用Serial.print和Serial.println输出Arduino运行过程中的相关信息,然后在电脑上用Arduin ...
- HTML5 学习笔记--------》HTML5概要与新增标签!
一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电. ...
随机推荐
- dumpbin
在使用VC时,可以用DUMPBIN.EXE来得到某个DLL中所输出的符号的清单.如下面的 命令:dumpbin -exports Cmpnt1.dll如: C:/WINDOWS/system32> ...
- Windows查看进程taskList,终止进程tskill
TaskList: 列出当前所有运行进程. 使用方法:在命令提示符中输入tasklist 然后回车,会看到类似下面的列表: 映像名称 ...
- 一个好用的Dialog插件
网页中常常须要弹出dialog,尽管非常多JS开源框架都提供这个功能,可是效果都不是非常好,比方easy-UI.改动样式这些又不是我擅长的,身边又没有美工兄弟,苦逼啊! (Easy-UI的BasicD ...
- [Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法
转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类 ...
- 安装Oracle JDK 7.0与8.0 for Mac OS X后Eclipse启动报错的解决之道
启动 Eclipse 时,直接报错The JVM shared library "/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Cont ...
- Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库
一.依赖注入DI 通过依赖注入降低View.服务.资源简化初始化.事件绑定等反复繁琐工作 AndroidAnnotations(Code Diet) android高速开发框架 项目地址:https: ...
- java多线程:ReentrantReadWriteLock读写锁使用
Lock比传统的线程模型synchronized更多的面向对象的方式.锁和生活似,应该是一个对象.两个线程运行的代码片段要实现同步相互排斥的效果.它们必须用同一个Lock对象. 读写锁:分为读锁和写锁 ...
- ExtJS学习-------Ext正确Dom操作:Ext.get Ext.fly Ext.getDom
详细实例: (1)创建JSP文件.引入CSS和js文件,加入三个Div <%@ page language="java" import="java.util.*&q ...
- g++编C++11/C++0x遇到的问题
在看<Cplusplus Concurrency In Action Practical Multithreading>当遇到第一个样品: #include<iostream> ...
- 网络安全审查制度即将推出 手机App安全加密成必定趋势
年05月22日宣布,为维护国家网络安全.保障中国用户合法利益,中国即将推出网络安全审查制度,关系国家安全和公共利益的系统使用的.重要信息技术产品和服务,应通过网络安全审查.文章出处:*** 网络安全审 ...