`
adventure
  • 浏览: 88359 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

HTML DOCUMENT TYPE

阅读更多

转载:http://www.w3cn.org/article/step/2004/26.html

 

开始制作符合标准的站点,第一件事情就是声明符合自己需要的DOCTYPE。

查看本站首页原代码,可以看到第一行就是:

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

打开一些符合标准的站点,例如著名web设计软件开发商Macromedia ,设计大师Zeldman 的个人网站,会发现同样的代码。而另一些符合标准的站点(例如k10k.net )的代码则如下:

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

那么这些代码有什么含义?一定要放置吗?

什么是DOCTYPE

上面这些代码我们称做DOCTYPE声明。DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。

其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。

要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

XHTML 1.0 提供了三种DTD声明可供选择:

  • 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:

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

  • 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>。完整代码如下:

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

  • 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:

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

我们选择什么样的DOCTYPE

理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择(包括本站,使用的也是过渡型DTD)。因为这种DTD还允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。

注:上面说的"表现层的标识、属性"是指那些纯粹用来控制表现的tag,例如用于排版的表格、背景颜色标识等。在XHTML中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。

打个比方:人体模特换衣服。模特就好比数据,衣服则是表现形式,模特和衣服是分离的,这样你就可以随意换衣服。而原来HTML4中,数据和表现是混杂在一起的,要一次性换个表现形式非常困难。呵呵,有点抽象了,这个概念需要我们在应用过程中逐步领会。

分享到:
评论

相关推荐

    Simplx Document HTML type

    Simplx Document, generated by doxgen and dot. About Simplx is a C++ development framework for building reliable cache-friendly distributed and concurrent multicore software. Simplx was developped by ...

    html中的内容直接下载到excel中,替换 document.execCommand(‘saveAs’)方法

    总结,HTML中的内容直接下载到Excel,不再依赖`document.execCommand('saveAs')`,而是利用`a`标签的`download`属性和Blob对象,可以实现兼容更多浏览器的导出功能。对于更高级的需求,可以考虑引入第三方库,如`...

    document.all[]详解

    - **Array of all HTML tags in the document**:`document.all[]` 可以被视为一个包含了文档中所有 HTML 标签的数组。 - **Collection of all elements contained by the object**:它也是一个集合,其中包含了文档...

    document.getElementsByName()的用法

    `document.getElementsByName()`和`document.getElementById()`都是强大的工具,用于在JavaScript中操纵HTML文档。选择哪种方法取决于具体的应用场景:如果你需要访问具有特定`id`的单一元素,那么`document....

    解释document(很不错的教程)

    在JavaScript中,可以使用`document`对象来访问和修改HTML文档中的元素。这通常涉及到DOM(Document Object Model)的操作。DOM是一个表示HTML或XML文档的标准模型,允许程序和脚本动态地访问和更新文档的内容、结构...

    js技术中document对象技术汇总

    在JavaScript编程语言中,`Document`对象是浏览器提供的核心对象之一,它代表了当前加载的HTML文档,并提供了多种方法和属性来操作网页内容。通过`Document`对象,开发者可以获取页面元素、创建新元素、修改页面结构...

    javasxript_document对象详解.txt

    ### JavaScript Document 对象详解 #### 一、Document 对象简介 在JavaScript中,`Document`对象是构成浏览器文档对象模型(DOM)的核心部分之一。它提供了对网页文档结构的访问和控制能力,允许开发者通过脚本...

    document.execCommand()解析

    &lt;input type="text" id="editable" contenteditable="true"&gt; ()"&gt;加粗 function boldText() { var range = document.getSelection(); document.execCommand('bold', false, null); } &lt;/html&gt; ``` 在这...

    邮箱登录器(WebBrowser.Document)

    WebBrowser.Document属性是这个过程中关键的一环,它返回一个HTMLDocument对象,代表了当前加载网页的DOM(文档对象模型)结构。 DOM是一个树形结构,包含了网页的所有元素、属性和内容。通过DOM,我们可以访问和...

    如何将input type=file显示的浏览变成英文的

    &lt;input type="button" value="Browse" onclick="document.formen.picpath.click()"&gt; ``` 3. **添加文本输入框用于显示文件路径:** 当用户通过自定义按钮选择了文件后,可以将文件路径显示在文本输入框中。 ``...

    WPS2021造成的HTML5 file.type值异常的解决方法.docx

    但是,在 WPS2021 安装的情况下,file.type 获取的值会变成 application/kswps,而不是正常的 application/msword 或 application/vnd.openxmlformats-officedocument.wordprocessingml.document。这是因为 WPS2021 ...

    CircleType

    使用 CircleType 非常简单,首先你需要在 HTML 文件中引入 jQuery 库和 CircleType.js 文件。例如: ```html &lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt;&lt;/script&gt; &lt;script src="path/to/Circle...

    前端开源库-react-document-meta

    React Document Meta 是一个针对React框架设计的开源库,主要用于处理HTML文档的元(meta)标签。在前端开发中,元标签对于网页的SEO优化、社交媒体分享预览等场景至关重要。这个库提供了一种声明式、可嵌套和有状态...

    Java 使用itext将html转pdf并下载demo

    这里需要读取HTML文件,然后创建一个Parser对象,使用HTMLWorker.startDocument()和HTMLWorker.endDocument()来开始和结束解析过程。 ```java String htmlContent = readHtmlFile("input.html"); Parser parser = ...

    HTML5视频上传(包含html5自带拍照,录像,音频,附件)

    formData.append('video', document.querySelector('input[type=file]').files[0]); fetch('/upload', { method: 'POST', body: formData }).then(response =&gt; { // 处理响应 }); ``` 此外,为了提高用户体验,...

    ONLYOFFICE Document Server API

    &lt;script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js"&gt;&lt;/script&gt; ``` 3. **创建编辑器实例**: - 使用 `var docEditor = new DocsAPI.DocEditor("placeholder", ...

    js 简单类代码

    6. 字符集和HTML文档类型(Charset and HTML Document Type) 从文件的头部信息&lt;metahttp-equiv="Content-Type" content="text/html; charset=gb2312"&gt;中,我们可以了解到该文档使用的是GB2312字符集。这是一个较早...

    html的DOM中document对象anchors集合用法实例

    &lt;p&gt;Number of anchors in this document: &lt;script type="text/javascript"&gt; document.write(document.anchors.length); &lt;/script&gt;&lt;/p&gt; &lt;/html&gt; ``` 在这个示例中,HTML文档包含了三个具有name属性的元素。通过...

    $(document)

    "$(document)" 在JavaScript中通常代表整个HTML文档对象模型(Document Object Model)。它是JavaScript访问和操作网页内容的基础,允许我们通过DOM API来选择、修改或添加HTML元素。在jQuery中,"$(document)" ...

Global site tag (gtag.js) - Google Analytics