【转】Internet Explorer 8 中的 CSS 改进 博客分类: css相关 CSSRuby嵌入式Microsoft
Internet Explorer 8 完全符合级联样式表 (CSS) 的 CSS2.1(级别为 2,修订号为 1)规范,并支持 CSS 级别 3 (CSS3) 的某些功能。 本主题包含 Internet Explorer 8 中对 CSS 支持所做更改的完整列表。有关最新版本的 Internet Explorer 中的 CSS 合规性概要,请参见 CSS 合规性和 Internet Explorer(可能为英文网页) 。
- 兼 容性说明
- At 规则
- 伪 类和伪元素
- 列 表
- 颜 色和背景
- 字 体和文本
- 生 成的内容
- 边 框和布局
- 定 位
- 打 印
- 用 户界面
- Internet Explorer 特有的功能
- 数 据 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 引入了对生成内容的完全支持,其中包括下列属性:
通过将最新支持的 :before 和 :after 伪类与内容属性结合使用,可以描述要在文档中的元素前后显示的动态(“生成的”)内容。
边框和布局
Internet Explorer 8 引入了对以下内容的支持:
- 单 独的边框模型(border-spacing 属性)
- 标题定位和对齐(caption-side 属性)
以下属性的行为现在完全符合 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- 前缀进行指定:
- -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 或布局中使用的小图像(如项目符号)。 有关更多信息,请参见数据协议(可能为英文网页) 。