Internet Explorer 八 中的 CSS 改进

Internet Explorer 8 中的 CSS 改进

Internet Explorer 八 中的 CSS 改进

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:

  • font-weight
  • white-space (新增对 pre-wrap 和 pre-line 值的支持)
  • word-spacing

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

生成的内容

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

  • content
  • counter-increment
  • counter-reset
  • quotes

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

边框和布局

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

  • 单 独的边框模型(border-spacing 属性)
  • 标题定位和对齐(caption-side 属性)

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

  • border-collapse
  • border-style
  • empty-cells

浮动

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

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

边距折叠

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

定位

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

  • bottom
  • clip
  • display
  • left
  • right
  • top
  • z-index

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

display 属性还支持 CSS3 Ruby 模块 Internet Explorer 八 中的 CSS 改进 中的 ruby 样式。

打印

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

  • page-break-inside
  • widows
  • orphans

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

用户界面

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

  • outline
  • outline-color
  • outline-style
  • outline-width 。

此外,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- 前缀进行指定:

  • -ms-accelerator
  • -ms-background-position-x
  • -ms-background-position-y
  • -ms-behavior
  • -ms-filter
  • -ms-ime-mode
  • -ms-layout-flow
  • -ms-layout-grid
  • -ms-layout-grid-char
  • -ms-layout-grid-line
  • -ms-layout-grid-mode
  • -ms-layout-grid-type
  • -ms-line-break
  • -ms-overflow-x
  • -ms-overflow-y
  • -ms-scrollbar-3dlight-color
  • -ms-scrollbar-arrow-color
  • -ms-scrollbar-base-color
  • -ms-scrollbar-darkshadow-color
  • -ms-scrollbar-face-color
  • -ms-scrollbar-highlight-color
  • -ms-scrollbar-shadow-color
  • -ms-scrollbar-track-color
  • -ms-text-align-last
  • -ms-text-autospace
  • -ms-text-justify
  • -ms-text-kashida-space
  • -ms-text-overflow
  • -ms-text-underline-position
  • -ms-word-break
  • -ms-word-wrap
  • -ms-writing-mode
  • -ms-zoom

数据 URI

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

相关主题

  • CSS 兼容性和 Internet Explorer(可能为英文网页)

原文来自:MSDN