转载: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, 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')`,而是利用`a`标签的`download`属性和Blob对象,可以实现兼容更多浏览器的导出功能。对于更高级的需求,可以考虑引入第三方库,如`...
- **Array of all HTML tags in the document**:`document.all[]` 可以被视为一个包含了文档中所有 HTML 标签的数组。 - **Collection of all elements contained by the object**:它也是一个集合,其中包含了文档...
`document.getElementsByName()`和`document.getElementById()`都是强大的工具,用于在JavaScript中操纵HTML文档。选择哪种方法取决于具体的应用场景:如果你需要访问具有特定`id`的单一元素,那么`document....
在JavaScript中,可以使用`document`对象来访问和修改HTML文档中的元素。这通常涉及到DOM(Document Object Model)的操作。DOM是一个表示HTML或XML文档的标准模型,允许程序和脚本动态地访问和更新文档的内容、结构...
在JavaScript编程语言中,`Document`对象是浏览器提供的核心对象之一,它代表了当前加载的HTML文档,并提供了多种方法和属性来操作网页内容。通过`Document`对象,开发者可以获取页面元素、创建新元素、修改页面结构...
### JavaScript Document 对象详解 #### 一、Document 对象简介 在JavaScript中,`Document`对象是构成浏览器文档对象模型(DOM)的核心部分之一。它提供了对网页文档结构的访问和控制能力,允许开发者通过脚本...
<input type="text" id="editable" contenteditable="true"> ()">加粗 function boldText() { var range = document.getSelection(); document.execCommand('bold', false, null); } </html> ``` 在这...
WebBrowser.Document属性是这个过程中关键的一环,它返回一个HTMLDocument对象,代表了当前加载网页的DOM(文档对象模型)结构。 DOM是一个树形结构,包含了网页的所有元素、属性和内容。通过DOM,我们可以访问和...
<input type="button" value="Browse" onclick="document.formen.picpath.click()"> ``` 3. **添加文本输入框用于显示文件路径:** 当用户通过自定义按钮选择了文件后,可以将文件路径显示在文本输入框中。 ``...
但是,在 WPS2021 安装的情况下,file.type 获取的值会变成 application/kswps,而不是正常的 application/msword 或 application/vnd.openxmlformats-officedocument.wordprocessingml.document。这是因为 WPS2021 ...
使用 CircleType 非常简单,首先你需要在 HTML 文件中引入 jQuery 库和 CircleType.js 文件。例如: ```html <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="path/to/Circle...
React Document Meta 是一个针对React框架设计的开源库,主要用于处理HTML文档的元(meta)标签。在前端开发中,元标签对于网页的SEO优化、社交媒体分享预览等场景至关重要。这个库提供了一种声明式、可嵌套和有状态...
这里需要读取HTML文件,然后创建一个Parser对象,使用HTMLWorker.startDocument()和HTMLWorker.endDocument()来开始和结束解析过程。 ```java String htmlContent = readHtmlFile("input.html"); Parser parser = ...
formData.append('video', document.querySelector('input[type=file]').files[0]); fetch('/upload', { method: 'POST', body: formData }).then(response => { // 处理响应 }); ``` 此外,为了提高用户体验,...
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js"></script> ``` 3. **创建编辑器实例**: - 使用 `var docEditor = new DocsAPI.DocEditor("placeholder", ...
6. 字符集和HTML文档类型(Charset and HTML Document Type) 从文件的头部信息<metahttp-equiv="Content-Type" content="text/html; charset=gb2312">中,我们可以了解到该文档使用的是GB2312字符集。这是一个较早...
<p>Number of anchors in this document: <script type="text/javascript"> document.write(document.anchors.length); </script></p> </html> ``` 在这个示例中,HTML文档包含了三个具有name属性的元素。通过...
"$(document)" 在JavaScript中通常代表整个HTML文档对象模型(Document Object Model)。它是JavaScript访问和操作网页内容的基础,允许我们通过DOM API来选择、修改或添加HTML元素。在jQuery中,"$(document)" ...