摘要:本文介绍了 Microsoft Internet Explorer 6 或更高版本对级联样式表 (CSS) 规范提供的增强支持。
前提条件:本文假设您熟悉 HTML 和 CSS。
要查看本文中的示例,必须在系统上安装 Internet Explorer 6 或更高版本。您可以从 http://www.microsoft.com/windows/ie/default.htm 下载 Internet Explorer 6。
简介
Microsoft® Internet Explorer 6 及更高版本支持一些更早版本 Internet Explorer 并不支持的 CSS 功能。支持的两个附加 CSS 属性为 min-height 和 word-spacing。还支持几个其他的可能值,其中包括 white-space 属性的 pre 值,以及 display 属性的 list-item 值。其他重要功能包括更加严格的样式表分析,以及更改哪些 HTML 元素可以表示文档内容可呈现到其中的最外部表面。
这些增强功能设计为符合 CSS 规范。CSS 中定义的所有属性、值和功能,以及 Level 1 (CSS1) 规范均受支持,其中包括定义如何对元素及其相关 margin、border 和 padding 属性进行度量和格式设置的框模型。
但真正的优点在于,即使有了所有这些增强功能,也不会与您为更早版本 Internet Explorer 开发的应用程序之间出现任何明显的兼容性问题。
!DOCTYPE“开关”
本节说明对于 Internet Explorer 6 或更高版本而言,如何在文档中使用 !DOCTYPE 声明来打开符合标准的模式。
!DOCTYPE 声明是一个标准通用标记语言 (SGML) 声明,它指定了文档(理论上)遵守的文档类型定义 (DTD)。它看起来像一个不带结束标记的 HTML 标记,但是它以一个惊叹号 (!) 开头,并且包含的只是单个标记,而不是属性名称值对。此声明必须位于文档的开头,且在 HTML 标记的前面。
通过在文档开头部分包括 !DOCTYPE 声明,并在该声明中指定一个有效的 Label(在某些情况下还会指定 Definition 和/或 URL),可以打开符合标准的模式。Label 指定 DTD 的唯一名称,后面可以附加该 DTD 的版本号。Definition 指定在 Label 中所指定的 DTD 的定义。URL 则指定该 DTD 的位置。
在 HTML 4.0 规范中指定了三个 Definition — Frameset、Transitional 和 Strict。Frameset 用于 FRAMESET 文档,Transitional 包含了除 FRAMESET 文档之外的所有文档,Strict “排除了万维网联合会 (W3C) 预期将随着样式表支持的成熟而逐渐弃用的表示属性和元素”£¨HTML 4.0 规范的说法)。
下表显示了对于 Internet Explorer 6 或更高版本,!DOCTYPE 声明的哪些值会打开符合标准的模式。
| Label | Definition | 存在 URL | 不存在 URL |
| 不存在 !DOCTYPE | 关 | 关 | |
| HTML(不存在 Version) | 关 | 关 | |
| HTML 2.0 | 关 | 关 | |
| HTML 3.0 | 关 | 关 | |
| HTML 3.2 | 关 | 关 | |
| HTML 4.0 | 不存在 Definition | 开 | 开 |
| HTML 4.0 | Frameset | 开 | 关 |
| HTML 4.0 | Transitional | 开 | 关 |
| HTML 4.0 | Strict | 开 | 开 |
| XHTML | 开 | 开 | |
| XML | 开 | 开 | 开 |
| 无法识别的 !DOCTYPE | 开 | 开 |
前面的表显示出,当文档不存在 !DOCTYPE 声明时,当声明中的 Label 不指定 HTML 规范版本时,或者它指定的版本早于 HTML 4.0 时,符合标准的模式是关闭的。该表显示出,如果您在 !DOCTYPE 声明中指定了 HTML 4.0 的 Frameset 或 Transitional Definition,则只有当您包括 URL 时才会打开符合标准的模式。当您在 !DOCTYPE 声明中指定 HTML 4.0 的 Strict Definition,以及指定不带任何 Definition 的 HTML 4.0 时,也会打开符合标准的模式。
为了允许创建新的 DTD(如 HiDad 11.22),当 !DOCTYPE 声明不可识别时,会打开符合标准的模式。当您指定了上表没有列出的 HTML 版本(如 HTML 1.0 或 HTML 3.22)时,也会打开符合标准的模式。
!DOCTYPE 示例
本节中的示例显示了如何使用 !DOCTYPE 声明来指定文档要遵守的 DTD,以及如何打开符合标准的模式。
下面示例中的两个声明都指定为遵守 Transitional HTML4.0 DTD。第二个声明指定了该 DTD 的 URL。第一个声明则没有指定该内容。第二个声明对于 Internet Explorer 6 或更高版本打开了符合标准的模式。第一个声明则没有打开该模式。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
下面示例中的两个声明都指定为遵守 HTML 4.0 DTD。第一个声明没有指定 Definition。第二个声明指定了此 DTD 的 Strict Definition。两个声明都没有指定 URL.。两个声明都打开了符合标准的模式。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
