当您打开网易,新浪等网站的任何一个页面的源码时,第一行都会看到<!DOCTYPE....dtd>,很多人不明白这段话什么意思,有什么作用。而在自己做项目的时候根本不在乎<!DOCTYPE>,甚至特意删除<!DOCTYPE>,这里特别提醒您:
您删除<!DOCTYPE>的时刻,正是灾难开始发生的时刻。
<!DOCTYPE>在遵循标准的任何Web文档中,它都是一项必需的元素。<!DOCTYPE>会影响代码验证,并决定了浏览器最终如何显示你的Web文档。现在您明白了吧,
当你删除了<!DOCTYPE>时,就是把如何展示您html页面的权利给浏览器!很恐怖吧,IE6,IE7,IE8,Firefox2,Firefox3,Chrome,有多少种浏览器,您的页面可能就会产生多少种展示方式。
如果您的页面根本就没有<!DOCTYPE>,那么您考虑浏览器的兼容性,就是缘木求鱼,
提高页面的兼容性从重视<!DOCTYPE>开始。
能够见到的<!DOCTYPE>有以下这几种:
HTML 2
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
HTML 3.2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
HTML 4.01 Strict, Transitional, Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict, Transitional, Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1 xhtml1.1,XHTML 1.1 plus MathML 2.0 plus SVG 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
我们常用的有:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
xhtml1-strict:声明文档中不使用任何失效属性以及框架
loose:声明文档使用一些失效元素包括显示
xhtml1-transitional:声明文档使用一些失效元素并且使用框架
建议您的页面都是用strict声明,这样可以最大限度的提高页面的兼容性,不过这样可能会造成您在编写html程序时必须非常严格。只有当strict声明太严格,给您编码和实现造成了困难,您可以使用transitional声明,否则坚持使用strict。
最后再次声明:
您删除<!DOCTYPE>的时刻,正是灾难开始发生的时刻。提高页面的兼容性从认识<!DOCTYPE>开始
文章地址:
http://javapub.iteye.com/blog/736640
分享到:
相关推荐
HTML(HyperText Markup Language)和XHTML(Extensible HyperText Markup Language)是两种广泛用于创建网页的标准标记...DOCTYPE>`的作用,有助于开发者编写更规范、更兼容的网页代码,从而提高网页质量和用户体验。
DOCTYPE>` 是一个非常重要的声明,它的主要作用是告诉浏览器文档遵循的HTML或XHTML规范版本,以便浏览器能够正确地解析和渲染页面内容。这个声明位于HTML文档的开头,且必须在 `<html>` 标签之前。 `<!DOCTYPE html...
第4讲 使用HTML设置文本和图像 4.1 段落标记 * 段落标记的基本语法:<p>…</p> * 段落标记的作用:创建一个段落...<p>和<br>有何不同? * <p>是段落标记,用于创建一个段落 * <br>是换行标记,用于产生一个换行效果
总结来说,DOCTYPE声明在HTML和XHTML文档中起到至关重要的作用,它定义了文档的语言版本和解析规则,确保浏览器以一致的方式渲染页面,减少了跨浏览器的兼容性问题。正确地声明DOCTYPE是构建符合标准、具有良好兼容...
DOCTYPE>标记位于文档的最前面,用来向浏览器说明当前文档使用哪种HTML或XHTML(可扩展超文本标记语言)标准规范,必需在开头处使用<!DOCTYPE>标记为所有的XHTML文档指定XHTML版本和类型,只有这样浏览器才能将该...
此标签是一个容器,里面可以包含行(`<tr>`)和单元格(`<td>`)。表格的基本结构如下: ```html <table> <tr> <td>单元格内容</td> <td>单元格内容</td> </tr> <tr> <td>单元格内容</td> <td>单元格内容</...
DOCTYPE>声明不是HTML标签,是一条指令,它用于向浏览器说明当前文档使用哪种HTML标准规范。如果删除<!DOCTYPE>声明,浏览器将根据情况决定如何显示HTML页面。 2. HTML标签概述 HTML标签可以分为三类:单标签、双...
DOCTYPE note [...]>`定义了文档类型为`note`,并且规定了`note`元素包含`to`、`from`、`heading`和`body`这四个子元素,每个子元素都允许包含字符数据(#PCDATA)。 外部DTD则将DTD定义存储在单独的文件中,然后在...
DOCTYPE>`标签的作用与使用方法 `<!DOCTYPE>`标签作为HTML文档的首个元素,在整个文档解析过程中起着至关重要的作用。它告诉浏览器当前文档遵循的是哪种HTML标准,从而确保浏览器能够正确地解析和渲染网页。 #####...
**示例**:定义一个`<note>`元素,其包含`<to>`、`<from>`、`<heading>`和`<body>`四个子元素,其中`<to>`、`<from>`和`<heading>`元素仅包含文本数据,而`<body>`元素可以包含文本和子元素。 ```xml <!ELEMENT note...
通过了解和正确使用DOCTYPE HTML,开发者能够确保他们的网页在各种浏览器上具有一致的显示效果,提高用户体验,并减少潜在的技术问题。对于那些需要处理大量历史代码或者需要兼容旧版浏览器的开发者来说,理解...
\n\n例如,以下代码创建了一个横跨两行的表头单元格和一个横跨两列的单元格:\n<h4>横跨两行的单元格:</h4>\n<table border="1">\n <tr>\n <th>姓名</th>\n <td>Bill Gates</td>\n </tr>\n <tr>\n <th rowspan="2">...
通过这种方式,DTD在XML文档中起到了约束作用,保证了数据的结构化和一致性。当你尝试解析这个XML文档时,解析器会根据DTD进行验证,如果发现任何不符合DTD规则的内容,解析器将会抛出错误,帮助你找出并修复问题。 ...
在文件内容中还包含了一些关于XML模式设计的指导原则和最佳实践,例如使用复数形式命名集合元素(如<Contacts>),单数形式命名单个实例(如<Person>),以及使用属性来修饰元素。 最后,文件内容中还隐含了关于XML...
DTD的主要作用是确保XML文档遵循一定的规则,保证数据的一致性和完整性,使得不同系统之间能有效地交换和处理数据。 ### DTD的声明 XML文档中的DTD声明有两种方式:内部声明和外部声明。 1. **内部声明**:当DTD...
7. **`<ul>` 和 `<li>`**:定义无序列表和列表项,常用于导航菜单。 8. **`<main>`**:定义网页的主要内容区域。 9. **`<section>`**:定义文档中的节,用于组织内容。 10. **`<footer>`**:定义网页的底部内容。 ...
IFDEF>`和`<!ENDIF>`,可以在不同版本的文档中选择性地包含元素。 最后,理解DTD的错误处理也至关重要。当XML文档违反了DTD定义时,解析器会抛出错误,这有助于确保数据的准确性和一致性。 总的来说,XML-DTD是XML...
-- <font color="red">我的第一个标题</font> -->`:注释掉了一段使用`<font>`标签设置文字颜色的代码。注意,在HTML5中不推荐使用`<font>`标签,因为有更好的CSS方法来替代它。 - `<p>我的第一个段落。</p>`:定义...
DOCTYPE>声明、<html>元素、<head>元素和<body>元素组成。<!DOCTYPE>声明定义了文档类型,对于HTML5,通常写为`<!DOCTYPE html>`。<html>元素是整个文档的根元素,它包含了页面的所有内容。在<head>元素中,我们可以...
而`<联系人>`元素则包含了六个子元素:`<姓名>`、`<ID>`、`<公司>`、`<EMAIL>`、`<电话>`和`<地址>`。其中,`<地址>`元素又进一步包含了三个子元素:`<街道>`、`<城市>`和`<省份>`。这里的`#PCDATA`表示这些元素的值...