Internet Explorer 8 中的 CSS 改进

Internet Explorer 8 完全符合级联样式表 (CSS) 的 CSS2.1(级别为 2,修订号为 1)规范,并支持 CSS 级别 3 (CSS3) 的某些功能。 本主题包含 Internet Explorer 8 中对 CSS 支持所做更改的完整列表。有关最新版本的 Internet Explorer 中的 CSS 合规性概要,请参见CSS 合规性和 Internet Explorer(可能为英文网页)?。
只有在页面采用 IE8 模式(或带有 Internet Explorer 8?!DOCTYPE?指令的 EmulateIE8 模式)时,本主题描述的 Internet Explorer 8 中对 CSS 合规性所做的更改才会起作用。 有关文档兼容性模式的详细信息,请参见定义文档兼容性(可能为英文网页)?。
@page?规则现在可以按预期方式与?:first?、:left?和?:right?选择器一起工作。
Internet Explorer 8 引入了对以下伪类和伪元素的支持:
此外,:active?伪类的行为现在完全符合 CSS 2.1;此伪类现在适用于所有元素,而不仅仅适用于?a?元素。
已向?list-style-type?属性添加了一些附加值,从而使此属性完全符合 CSS 2.1。
background-position?属性的行为现在完全符合 CSS 2.1。
以下文本属性的行为现在完全符合 CSS 2.1:
pre-wrap?和?pre-line?值的支持)此外,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 规范?
?中的 ruby 样式。
Internet Explorer 8 引入了对以下打印属性的支持:
有关 CSS 打印功能的详细信息,请参见?CSS 操作方法 - 使用 CSS 优化打印页面(可能为英文网页)?。
Internet Explorer 8 引入了对?outline?属性的支持,使用这些属性可以在不影响元素大小的情况对元素进行突出显示。 这包括对以下属性的完全符合 CSS 2.1 的支持:
此外,Internet Explorer 8 还引入了对?box-sizing?属性的支持。
本节将描述 CSS 2.1 规范未定义的行为。
出于标准合规性和性能方面的原因,在采用 IE8 模式(或带有 Internet Explorer 8?!DOCTYPE 指令的 EmulateIE8 模式)的 Internet Explorer 8 中已停止支持“CSS 表达式”(即,动态属性?)。 不过,对于采用 IE7 模式、EmulateIE7 模式或 IE5 模式的页面,这些动态属性在 Internet Explorer 8 中仍将按预期方式起作用。 有关文档兼容性模式的详细信息,请参见定义文档兼容性(可能为英文网页)?。
下列 CSS 属性是 Microsoft 针对 CSS 2.1 规范的扩展,在 IE8 模式中,应使用 -ms- 前缀进行指定:
通过使用数据统一资源标 识符 (URI),网页作者可以直接在 URI 中嵌入小型实体,而不必使用 URI 来标识要从中检索该实体的位置。 此操作主要适用于在 CSS 或布局中使用的小图像(如项目符号)。 有关更多信息,请参见数据协议(可能为英文网页)?。
原文来自:MSDN
?