分享

DOCTYPE解释及w3c strict模型

 obiwang 2011-04-14

DOCTYPE解释及w3c strict模型

在遵循标准的任何Web文档中,DOCTYPE都是一项必需的元素。它会影响代码验证,并决定了浏览器最终如何显示你的web文档。在默 认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的HTML。

一 什么是DOCTYPE

DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。要想制作符合标准的页面,一个必不可少的关键组成部分就 是DOCTYPE声明。只有确定了一个正确的DOCTYPE,XHTML里的标识和CSS才能正常生效。

二 DOCTYPE文档类型

HTML 4.01的3种类型:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” ” http://www./TR/html4/strict.dtd”>

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” ” http://www./TR/html4/loose.dtd”>

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” ” http://www./TR/html4/frameset.dtd”>

XHTML 1.0 规定3种 XML 文档类型:Strict、Transitional 以及 Frameset

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www./TR/xhtml1/DTD/xhtml1-strict.dtd”>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www./TR/xhtml1/DTD/xhtml1-frameset.dtd”>

Strict – 严格类型 Transitional – 过渡类型 Frameset – 框架类型

<!DOCTYPE HTML> 这是HTML5中的声明

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

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

整个互联网的世界能够通过W3C Strict验证的不多,那么要通过W3C的验证有哪些要注意的呢?

一、DOCTYPE 声明

DOCTYPE 声明声明为文档提供一个空间,通过引用外部文件、通过直接声明或通过这两种方式来标识其根元
素和文档类型定义 (DTD)。严格类型的声明上面已经提供了。

二、注意标签闭合。

<meta>,<img>,<link>。

<meta name=”keywords” content=”" />,
<img src=”images/qq.gif” alt=”" width=”32″ height=”32″ />,
<link href=”mycss.css” rel=”stylesheet” type=”text/css” />。
至于成对的标签闭合,相信大家都知道,也会注意。如 <p></p>,需成对出现。

三、js文件引用写法

在调用外部JS文件时,要注意标准写法,<script type=”text/javascript” src=”qq.js”></script>。
xhtml 1.0 strict 是不支持 lanuage 标签的。

四、target=”_blank”问题
在strict标准下,是不支持target 标签的。我们可以采用 rel=”external”来代替,不过,得首先在JS中预
先定义。

function externalLinks() {
var linkArray = document.getElementsByTagName('a');
for (var i = 0; i < linkArray.length; i++) {
var link = linkArray[i];
if (link.getAttribute('rel') == 'external') {
link.target = '_blank';
}
}
}


五、标签属性不能缺少
六、注意引号不能缺少
七、把宽度,高度写到样式里面
八、<form>的位置问题
应该把form放在table的外面,而不是里面。

九、border属性问题
用样式定义border为0,否则图片的链接会有个蓝色边框。

十、大小写问题
strict标准中一律采用小写,js代码写法不受此点限制。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多