Internet Explorer 8 中的 CSS 改进

Windows Internet Explorer 8 的新增功能

Internet Explorer 8 完全符合级联样式表 (CSS) 的 CSS2.1(级别为 2,修订号为 1)规范,并支持 CSS 级别 3 (CSS3) 的某些功能。 本主题包含 Internet Explorer 8 中对 CSS 支持所做更改的完整列表。有关最新版本的 Internet Explorer 中的 CSS 合规性概要,请参见 CSS 合规性和 Internet Explorer(可能为英文网页)

  • 兼容性说明
  • At 规则
  • 伪类和伪元素
  • 列表
  • 颜色和背景
  • 字体和文本
  • 生成的内容
  • 边框和布局
    • 浮动
    • 边距折叠
  • 定位
  • 打印
  • 用户界面
  • Internet Explorer 特有的功能
    • CSS 表达式
    • CSS 的扩展
  • 数据 URI
  • 相关主题

兼容性说明

只有在页面采用 IE8 模式(或带有 Internet Explorer 8 !DOCTYPE 指令的 EmulateIE8 模式)时,本主题描述的 Internet Explorer 8 中对 CSS 合规性所做的更改才会起作用。 有关文档兼容性模式的详细信息,请参见定义文档兼容性(可能为英文网页)

At 规则

@page 规则现在可以按预期方式与 :first:left:right 选择器一起工作。

伪类和伪元素

Internet Explorer 8 引入了对以下伪类和伪元素的支持:

  • :before:after  可以将这些伪类与最新支持的 content 属性结合使用,以描述要在文档中的元素前后显示的动态(“生成的”)内容。
  • :focus   此伪类适用于元素具有输入焦点的情况。
  • :lang(C)   此伪类选择使用给定语言的元素。

此外,:active 伪类的行为现在完全符合 CSS 2.1;此伪类现在适用于所有元素,而不仅仅适用于 a 元素。

列表

已向 list-style-type 属性添加了一些附加值,从而使此属性完全符合 CSS 2.1。

颜色和背景

background-position 属性的行为现在完全符合 CSS 2.1。

字体和文本

以下文本属性的行为现在完全符合 CSS 2.1:

此外,text-decoration 属性的上划线行为现在更接近于符合 CSS 2.1 规范。

生成的内容

Internet Explorer 8 引入了对生成内容的完全支持,其中包括下列属性:

通过将最新支持的 :before:after 伪类与内容属性结合使用,可以描述要在文档中的元素前后显示的动态(“生成的”)内容。

边框和布局

Internet Explorer 8 引入了对以下内容的支持:

以下属性的行为现在完全符合 CSS 2.1:

浮动

已对浮动行为进行很多更改,解决了使用以前版本的 Internet Explorer 时遇到的最令人困扰的很多浮动问题,包括由 hasLayout 属性的要求导致的问题。 Internet Explorer 8 中删除了 hasLayout 功能。以下是一些已经解决的问题:

  • 已清除元素不会清除其他嵌套的浮动元素(如果它们不共享一个父级)。
  • 浮动元素后面的已清除元素的上填充加倍。

边距折叠

已对边距折叠行为进行很多更改,解决了使用以前版本的 Internet Explorer 时遇到的最令人困扰的很多折叠问题,并使边距折叠行为符合 CSS 2.1 规范。

定位

以下定位属性的行为现在完全符合 CSS 2.1:

display 属性现在支持 W3C 级联样式表级别 2.1 规范 万维网链接 中的所有表格布局值。 多年来,表格始终是 Internet 上的首选布局机制。 在 Internet Explorer 8 中,现在可以使用 display 特性对非表格元素应用表格样式的格式。 实际上,CSS 表格比 HTML 标记更自由;使用 CSS 规则创建的表格需要嵌套元素才会有效,而使用 HTML 创建的表格将会关闭容器以避免意外嵌套。

display 属性还支持 CSS3 Ruby 模块 万维网链接 中的 ruby 样式。

打印

Internet Explorer 8 引入了对以下打印属性的支持:

有关 CSS 打印功能的详细信息,请参见 CSS 操作方法 - 使用 CSS 优化打印页面(可能为英文网页)

用户界面

Internet Explorer 8 引入了对 outline 属性的支持,使用这些属性可以在不影响元素大小的情况对元素进行突出显示。 这包括对以下属性的完全符合 CSS 2.1 的支持:

此外,Internet Explorer 8 还引入了对 box-sizing 属性的支持。

Internet Explorer 特有的功能

本节将描述 CSS 2.1 规范未定义的行为。

CSS 表达式

出于标准合规性和性能方面的原因,在采用 IE8 模式(或带有 Internet Explorer 8 !DOCTYPE 指令的 EmulateIE8 模式)的 Internet Explorer 8 中已停止支持“CSS 表达式”(即,动态属性)。 不过,对于采用 IE7 模式、EmulateIE7 模式或 IE5 模式的页面,这些动态属性在 Internet Explorer 8 中仍将按预期方式起作用。 有关文档兼容性模式的详细信息,请参见定义文档兼容性(可能为英文网页)

CSS 的扩展

下列 CSS 属性是 Microsoft 针对 CSS 2.1 规范的扩展,在 IE8 模式中,应使用 -ms- 前缀进行指定:

数据 URI

通过使用数据统一资源标识符 (URI),网页作者可以直接在 URI 中嵌入小型实体,而不必使用 URI 来标识要从中检索该实体的位置。 此操作主要适用于在 CSS 或布局中使用的小图像(如项目符号)。 有关更多信息,请参见数据协议(可能为英文网页)

相关主题