浏览器引擎CSS支援比较

以下的表格显示一些浏览器引擎对于CSS的兼容性与支援的比较。想获得更多讯息，请参照各产品的项目。此项目不见得包含所有的功能也不见得有最新消息。除非以附注指出特例，这里以未加装任何套件或是其他程式的稳定版本进行比较。
__TOC__

**CSS版本支援**
想了解各版本的CSS差异，请参考项目CSS。 本表格不以CSS2.0为准，因为存在取代它的CSS2.1。CSS2.1修正了部份CSS2.0的错误，删除了不被CSS社区接受的功能。大部分被删除的功能将会出现在CSS3。

**语法与规则**

**Trident语法与规则附注**
# !important — 7.0之前，!important并不会盖掉在同一个宣告区的后面的规则。
# @import —  8.0之前，不支援媒体形态。使用@import  ，则IE会要求此URL：「 」，包括url()及URL里的引号。无法汇入超过35的样式表。

**Presto语法与规则附注**
# @import — 尽管Gecko、WebKit及iCab会立即下载所有样式表，Opera只下载媒体名为「handheld」、「print」、「projection」、「screen media」、「speech」（当声音功能在启动状态）、「tv」（电视装置）。文字浏览器模拟模式仅为一个使用者样式表而不用媒体形态「tty」。这是符合不支援CSS的老旧文字浏览器的。

**选择器**

**一般选择器附注**
# :read-only与:read-write — Presto与KHTML皆不正确地处理有contenteditable属性的元素。

**Trident选择器附注**
# :active — 8.0之前，Trident仅支援超连结元素。
# :hover — 7.0之前，Trident仅支援超连结元素。
# .one.two — 7.0之前，被当成.two类别选择器处理。
# * — 7.0之前这代表「一个或是没有元素」。
# attr — 当属性是colspan的时候，选出所有表格内的td元素及th元素（有没有之的有colspan属性都一样）。这可能不是一个bug，因规格存在模棱两可的解释。
# :first-letter、:first-line — 在6.0，:first-letter与其他rules一起使用的时候可能有问题。在8.0，在:first-line与:first-letter宣告内的有!important的rules会被省略。

**Gecko选择器附注**
# (:):before, (:):after — 在1.9.1之前，有些属性不能使用（这是CSS2.0的过期解释）。

**WebKit选择器附注**
# :lang() — 只对写上lang属性的元素有效，属性不继承。
# (:):first-line — text-transform不在此拟元素上作用。
# (:):before/after — 有些样式无法使用于:before与:after拟元素之上，如动画与转变。

**Presto选择器附注**
# :target — 在2.5之前，样式在以向前向后按钮浏览的时候不作用。

**属性**

**一般属性附注**
# text-decoration — Gecko或Webkit的底线有可能会画过行级(@@inline翻译)取代元素（例如图片）。

**Trident属性附注**
# margin — inherit继承未计算值然后再计算一次而不是直接继承计算后的值。
# display — 7.0之前，支援无误的只有none、block、inline、table-header-group及table-footer-group。8.0之前，没支援run-in与table，而inline-block仅支援在行级元素上。 
# overflow — 7.0之前，overflow: visible;支援的不正确。在8.0，scroll将该元素的高度调至max-height，就算内容并没有这么高。
# visibility — 8.0之前，未支援「visibility: collapse;」。在8.0，visibility: hidden;的块元素(@@block翻译)中「visibility: visible;」的行级元素不被显示。
# content — 在8.0，attr()的算后值不在属性(attribute)变更时被更新。
# border-color — 7.0之前，不支援transparent。
# border-style — 8.0之前，不支援hidden。
# border-style — 7.0之前，dotted被显示成dashed。
# box-shadow — 9.0之前，trident支援自从5.5就有的类似的专有属性「Shadow」及「DropShadow」过滤器。
# position — 7.0之前，未支援固定配置。7.0跟之后版本只在标准模式的时候支援。
# z-index —  8.0之前，仅部份支援z-index。在8.0，除了整数以外也支持浮点数。
# list-style-type — 8.0之前，不支援armenian、decimal-leading-zero、georgian、lower-greek、lower-latin、upper-latin。
# opacity — 9.0之前，Trident支援一个专有的替代属性。
# background-image — 8.0之前，背景图片在某些情况下被处理的很糟。
# background-attachment — 7.0之前，fixed只被允许使用在body元素上。
# background-position — 8.0之前，不支援固定配置。
# font-weight — 8.0之前，当取值为600显示不正确。
# text-align — 在8.0，text-align不被:before及:after拟元素继承。
# white-space — 6.0之前，不支援pre。8.0之前，仅部份支援white-space：不支援pre-line及pre-wrap。
# writing-mode — Trident支援过期的取值lr-tb、tb-rl、tb-lr等等。这些取值作用在direction上。这是与Webkit不同的行为。
# cursor — 仍作用于没前辍的浏览器扩充。

**Gecko属性附注**
# display — 不支援run-in。1.9之前，不支援「inline-table」与「inline-block」。
# z-index — 1.9之前负数的支援情况不佳。
# quotes — 1.8之前不支援巢状引用。
# content — 1.9之前不支援「none」。此属性不作用在一般元素（非拟元素），不符合《CSS 3 生成内容与取代内容模组》。
# background-position — 1.7以前的版本使用CSS2语法，非CSS2.1的扩充语法。
# font-size-adjust — 1.9之前，仅在视窗版支援。
# font-weight — 就算装了一个字型的Light或Heavy/Black字模，除非使用Gecko 2.0在Windows 7或Windows Vista的DirectWrite，仅Regular与Bold会被使用。
# white-space — 1.9.1之前不支援pre-line。1.9之前，以-moz-pre-wrap实验性地支援pre-wrap的功能。
# visibility — 1.8之前不支援collapse。
# border-radius — 1.9.1之前，边框的曲线是圆形而不是同现在CSS3草案记载的椭圆曲线，短宣告border-radius的顺序是「左上 右上 右下 左下」而不是W3C的「右上 右下 左下 左上」。当边框的样式是点线(dotted)破折线(dashed)，曲线总是显示实线为。
# page-break-before; page-break-after — 仅支援「always」与「auto」。

**WebKit属性附注**
# font — 不支援让设计师根据使用者作业系统呈现结果的系统字型关键字。
# font-weight — 就算装了一个字型的Light或Heavy/Black字模，仅Regular与Bold会被使用。
# page-break-before; page-break-after — 仅支援「always」与「auto」。
# white-space — 522之前，不支援「pre-line」与「pre-wrap」。
# visibility — 522之前不支援「collapse」，这个值的实作跟「hidden」一样，因此不合标准。
# content — 不支援「none」、「open-quote」、「close-quote」、「no-open-quote」、「no-close-quote」及「normal」，且此属性不作用在一般元素（非拟元素），不符合《CSS 3 生成内容与取代内容模组》。
# font-size — 「font-size」属性不见得吃0这个值，就算用「font-size: 0px」，文字还是看得见。

**KHTML属性附注**
# overflow — 不支援取值「scroll」与「auto」。
# page-break-before; page-break-after — 3.5之前仅支援「always」与「auto」。
# visibility — 支援所有的属性，但「collapse」这个值的实作跟「hidden」一样，因此不合标准。

**Presto属性附注**
# counter-increment, counter-reset — 使用推荐标准版本(CSS2)的演算法。
# background-position — Presto在Opera 8.0以前的版本使用CSS2语法，非CSS2.1的扩充语法。
# font-weight — 当取值为600显示不正确，与以Trident为对象设计的网站兼容。
# visibility — 2.5之前，在表格列里不支援「collapse」这个值，在表格行里，这个值呈现与「hidden」同样的效果因此不合标准。
# cursor — 「cursor」不支援动态拟类别，且不支援自定游标。
# content — 不支援取值「none」。
# font — 不应该吃「inherit」跟一个「font-size」取值的情形，这应该被当作语法错误并丢弃，但Opera接受这种状况。

**Prince XML属性附注**
# visibility — 不支援取值「collapse」。
# list-style — 不支援取值「armenian」与「georgian」。
# content — 不支援取值「open-quote」与「close-quote」。

**取值与单位**

**取值与单位一般附注**
# transparent — CSS1引入了「transparent」当作「background-color」的一个值。 date=20110113111851  CSS2开始允许「border-color」使用「transparent」。《Open eBook(tm) Publication Structure 1.0.1》OEB101扩张了「color」属性使其也吃关键字「transparent」。CSS3扩张了颜色的取值使其包含关键字「transparent」，使得所有吃的属性都可以使用这个值，这也简化了这些属性在CSS3的定义。
#  — 不支援 turn。

**取值与单位Trident附注**
# rect() — 8.0之前，不支援用逗号的正确语法。
# auto — 在 Quirks mode（IE5模拟模式），auto不作用在除了表格元素之外的margin属性上。
# transparent — 设color属性为transparent则字会呈现为黑色。
# transparent — 7.0之前，不支援在边框上的transparent（呈现为实心黑色），且在PNG图像上被省略。

**取值与单位Gecko附注**
#  — 版本1.9.1之前，用「M」的字形宽度 而非「0」的字形宽度。

**取值与单位Presto附注**
#  — 2.1之前，对于大于20.47的值曾有一个量子化错误（不只是em，其他非像素单位也一样）。
# transparent — 当使用属性 outline-color时此关键字会被忽略。版本2.2之前，同样的情形也发生在属性color及text-shadow。

**一般附注**

**一般Trident附注**
# -ms- — 所有实验中的选取器、属性、值都有「-ms-」作为前辍。例如：是-ms-interpolation-mode而不是interpolation-mode。

**一般Gecko附注**
# -moz- — 所有实验中的选取器、属性、值都有「-moz-」作为前辍。例如：是::-moz-selection而不是::selection。

**一般WebKit附注**
# -webkit- — 所有实验中的选取器、属性、值都有「-webkit-」作为前辍。例如：是-webkit-box-shadow而不是box-shadow。

**一般KHTML附注**
# -khtml- — 所有实验中的选取器、属性、值都有「-khtml-」作为前辍。例如：是-khtml-opacity而不是opacity。

**一般Presto附注**
# -o- — 所有实验中的选取器、属性、值都有「-o-」作为前辍。例如：是-o-transition-property而不是transition-property。
# -xv- — 所有实验中的《CSS3口说模组(@@翻译)》选取器、属性、值都有「-o-」作为前辍。例如：是-xv-voice-rate而不是voice-rate。

**浏览器自定样式的DOM表现**
# 实验中的CSS浏览器自定属性的对照DOM属性没有连字号，且第一个字母为大写。例如：element.style.MozBorderRadius对应于-moz-border-radius属性、element.style.OTransform对应于-o-transform属性。

**参见**

**规格**

**Trident相关**

**Gecko相关**

**Webkit相关**

**Presto相关**

**Prince XML相关**

**其他参见**
  dead-url=no -  dead-url=no - cite web | title=mozilla.org Bugzilla | work=Bug 281960 - devmo Mozilla CSS support chart | url=https://bugzilla.mozilla.org/show_bug.cgi?id=281960 | accessdate=July 13, 2005 | archive-date=2011-05-16 | archive-url=https://web.archive.org/web/20110516003532/https://bugzilla.mozilla.org/show_bug.cgi?id=281960 | dead-url=no -  dead-url=yes -  dead-url=no -  dead-url=no -  dead-url=no -  dead-url=no -  dead-url=no -  dead-url=no -  dead-url=no 

**外部连结**
  WebDevout date=20110120034641 ——以视窗浏览器的臭虫测试为主要导向。-  Can I Use date=20170408034823 ——展示各大浏览器对HTML5、CSS3的支持程度。-  The CSS3 Test date=20121024191559 ——测试各大浏览器对CSS3的支持程度。-  Mozilla Developer Network上面的CSS相关资料 date=20160202012455