`

Transitional vs. Strict Markup

    博客分类:
  • css
阅读更多
推广Web Standards的人经常说XHTML比HTML更加严格,当然从某种意义上说是的,比如它要求所有的标签关闭并且所有的属性都用引号。但其实XHTML 1.0还分两种(加上Frameset DOCTYPE的话算三种,本文不讨论),Transitional(过渡型)和Strict(严格)DOCTYPEs。并且HTML 4.01也有同样的文档声明。

从字面上就可以看出来意思:Transitional DOCTYPEs只是为了实现从旧时代到新时代的过渡,而且Strict DOCTYPEs是默认的文档声明, 对构造HTML 4.01和XHTML 1.0都适用。

使用Transitional DOCTYPE一般是由于代码中含有过多陈旧的写法,并且一下子很难完全转换到Strict DOCTYPE来。但是Strict DOCTYPE才应该是你的目标。它鼓励甚至有时是强迫你把结构与表现区分开来,把表现层的代码都写在CSS里。HTML 4 Document Type Definition: -

本HTML 4.01 Strict DTD不包括表现层属性和标签,W3C将逐渐淘汰这些属性和标签,您完全可以使用样式表来实现。您应该使用Strict DTD,如需获得表现层属性和标签的支持,请使用Transitional DTD。

用Strict DOCTYPE还有一个好处,即可以让浏览器使用它们最严格、(一定程度上)最符合标准的模式来渲染页面。

Tommy Olsson在Web Standards Group的Ten questions for Tommy Olsson一文中很好的阐述了使用Strict的好处:

我觉得,使用Strict DTD,无论是HTML 4.01 Strict还是XHTML 1.0 Strict,远比讨论是用HTML还是XHTML重要的多。它代表了未来互联网的质量。它将结构和表现分开,使得维护一个站点非常容易。

对于刚开始接触web standards和正确的、语义化的结构的人,认清Transitional和Strict DOCTYPEs的区别非常重要。更多详细列表请参考:XHTML: Differences between Strict & Transitional、Comparison of Strict and Transitional XHTML和XHTML1.0 Element Attributes by DTD。

对于准备向Strict进发的人来说,两者的有些区别很可能会使开发者犯错误,接下来我将会谈到。

在Strict DOCTYPEs下不支持的标签
center
font
iframe
srike
u
在Strict DOCTYPEs下不支持的属性
align (表格相关的支持:col, colgroup, tbody, td, tfoot, th, thead, and tr)
language
background
bgcolor
border (table支持)
height (img和object支持)
hspace
name (在HTML 4.01 Strict中支持,XHTML 1.0 Strict中的form和img不支持)
noshade
nowrap
target
text, link, vlink, 和alink
vspace
width (img, object, table, col, 和 colgroup都支持)
内容模型的区别
元素类型的内容模型描述了什么样的元素类型实例可以被包含。这一点上,两种文档声明的最大区别在于blockquote, body, 和form元素仅能够包含块级元素,如:

文本和图像不允许直接包含在body中,必须被p或者div等块级元素包含
input元素不能直接是form元素的下一层
blockquote元素内的文本,必须被p或者div等块级元素包含
将所有的表现都交给CSS,恪守Strict标准
在向Strict DOCTYPEs过渡的过程中,了解每个元素是做什么的比知道每个元素长啥样有效的多。

首先考虑结构和语义,然后再担心表现。

分享到:
评论

相关推荐

    HTML 元素与合法的 Doctype.docx

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,DOCTYPE是HTML文档中的一个重要部分,它定义了文档遵循的HTML或XHTML规范的版本。DOCTYPE声明位于HTML文档的顶部,通常在`<html>`标签之前,告诉...

    .XHTML基础

    XHTML,即可扩展超文本标记语言(Extensible HyperText Markup Language),是一种基于XML(可扩展标记语言)的网页设计标准,旨在提高网页的可读性和规范性。在XHTML的世界里,DOCTYPE声明和名字空间是构建网页时不...

    html 模板

    HTML(HyperText Markup Language)是互联网上最基础的标记语言,用于定义页面的结构和内容。模板则是在HTML基础上,通过预设布局、样式和元素,使得网页设计更加高效和一致。 在给定的压缩包文件中,我们可以看到...

    WEB开发 之 XHTML 验证.docx

    在Web开发领域,XHTML(Extensible HyperText Markup Language)是一种结合了HTML的标记语言特性和XML的结构化语义的规范。XHTML文档的编写必须遵循严格的规则,以确保其符合预定义的文档类型定义(DTD),这有助于...

    HTML-CSS结合-基础讲解2022优秀文档.ppt

    XHTML 有三种规范:1.0 Transitional、1.0 Strict 和 1.0 Frameset。 1. XHTML 1.0 Transitional:这是最宽松的规范,允许使用 HTML4.01 的所有标记和属性,但仍然鼓励开发者向更严格的标准过渡。 2. XHTML 1.0 ...

    国开电大18秋季Dreamweaver网页设计_形考任务.doc

    XHTML文档类型有三种:Strict、Transitional和Frameset。每种文档类型都有其特点和应用场景。 XHTML应用 XHTML广泛应用于网页设计和开发,特别是在Web应用和移动应用开发中。Dreamweaver是一种流行的网页设计和...

    WEB开发 之 XHTML DTD.docx

    不同类型的XHTML DTD允许不同程度的灵活性,从严格的结构化(XHTML Strict)到支持更多传统HTML元素(XHTML Transitional)以及专门用于框架布局(XHTML Frameset)。 总的来说,理解和使用正确的XHTML DTD有助于...

    HTML参考手册.doc

    XHTML 1.0同样有三个版本:Strict、Transitional和Frameset。但与HTML 4.01不同,XHTML强调语义和结构,强制要求正确的嵌套和关闭标签,使得文档更符合XML的规则。 二、HTML和XHTML的基本结构 无论是HTML还是XHTML...

    xhtml帮助文档学习手册

    6. **文档类型和模版**:XHTML有三种文档类型:Strict、Transitional和Frameset,分别适用于不同需求。Strict是最严格的,不允许使用某些过时或非结构化的元素;Transitional是为了向后兼容HTML4,允许一些传统元素...

    XHTML教程二(一个不错的教程)

    2. **严格的(Strict)**:这种DTD要求严格的结构,不允许使用任何表现层的标识和属性,鼓励内容与表现分离。 3. **框架的(Frameset)**:专为包含框架的页面设计,规定了如何在框架中组织内容。 对于初学者而言,...

    HTML4.01XHTML1.0标签参考手册xhtmlreference.rar

    它分为三个不同版本:Strict、 Transitional 和 Frameset。在Strict模式下,不允许使用过时的或非结构化的元素,如`<font>`和`<center>`。Transitional模式则允许这些元素,便于向HTML4.01过渡。Frameset模式专门...

    Dreamweaver网页设计.docx

    7. 在XHTML中,有三种不同的DTD(文档类型定义):Strict、Transitional、Frameset。 8. 网页的主体内容将写在标签内部。 9. 在HTML代码中,表示文本或图片居中对齐。 10. 在HTML文档中,使用有序列表应使用标记...

    boilerplates:各种html doctype空模板

    HTML,全称HyperText Markup Language,是用于创建网页的标准标记语言。在HTML中,DOCTYPE声明是必不可少的一部分,它告诉浏览器文档使用哪种HTML版本或者XHTML规范。本资源"boilerplates:各种html doctype空模板...

    XHTML 1_0简明手册(转)_files

    3. **XHTML 1.0版本**:XHTML 1.0分为三个不同的版本——Strict、 Transitional 和 Frameset,分别适用于不同需求。Strict模式鼓励使用最语义化的元素,Transitional则允许使用一些传统HTML4中的非语义元素,...

    w3c标准 html标准验证 xhtml标准验证 css标准验证

    1. XHTML 1.0 文件类别宣告:XHTML 1.0 提供了三种文档类型定义(DTD),分别是过渡标准(Transitional)、框架标准(Frameset)和严格标准(Strict)。过渡标准允许使用一些非标准或遗留的HTML元素,而严格标准则...

    XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)

    这三种DTD分别是:严格型(Strict)、过渡型(Transitional)和框架型(Frameset),分别用于不同的内容和布局需求。严格型DTD避免了HTML中的一些遗留问题和表现层的特性,而过渡型DTD允许一些表现层的特性继续存在...

    html学习笔记

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

    xhtml

    XHTML,全称为可扩展超文本标记语言(eXtensible HyperText Markup Language),是一种基于XML的标记语言,旨在提高HTML的严谨性和兼容性。相较于传统的HTML,XHTML更加注重结构的清晰和语法的规范,它要求所有标记...

    XHTML 1.0帮助文档

    另外,还有"Strict"类型,它不允许使用这些非结构化的元素,鼓励更纯净的XHTML结构。 **XHTML的语法规则** 与HTML相比,XHTML的语法更为严格。以下是一些关键规则: 1. **标签必须闭合**:每个开始标签都必须有...

Global site tag (gtag.js) - Google Analytics