浏览器对CSS3的支持(CSS3浏览器兼容性一览表)
CSS3 带来众多全新的设计体验,但有一个问题值得考虑:浏览器对 CSS3 特性的兼容情况如何?
因为页面最终离不开用浏览器来渲染,并不是所有浏览器都完全支持 CSS3 的特性。有时花时间写的效果只能在特定的浏览器下有效,这意味着只有部分用户才能欣赏到,这样的工作变得没有什么意义。例如,使用 CSS3 制作背景仅在 Webkit 内核的浏览器下有效果。
想知道用户能够体验到哪些 CSS3的 新特性,必须了解当前浏览器对 CSS3 特性的支持程度如何。
幸运的是,CSS3 特性大部分都已经有了很好的浏览器支持度。各主流浏览器对 CSS3 的支持越来越完善,曾经让多少前端开发人员心碎的 IE 也开始挺进 CSS3 标准行列。
当然,即使 CSS3 标准制定完成,现代浏览器要普及到大部分用户也是一个相当漫长的过程。如果现在就要使用 CSS3 来美化站点,有必要对各大主流浏览器对其新技术的支持情况有一个全面的了解。
本节分别在 Mac 和 Windows 两个平台介绍 Chrome、Firefox、Safari、Opera 和 IE 五大主流浏览器对 CSS3 新特性和 CSS3 选择器的支持情况。
CSS3 属性支持情况如图 1 所示。可以看出,完全支持 CSS3 属性的浏览器有 Chrome 和 Safari,而且不管是 Mac 平台还是 Windows 平台全支持。
图1:CSS3 属性兼容列表
CSS3 选择器支持情况如图 2 所示。除了 IE 家族和 Firefox3,其他几乎全部支持,Chrome、Safari、Firefox 3.6、Opera 10.5 最好。
图2:CSS3 选择器兼容列表
各主流浏览器都定义了私有属性,以便让用户体验 CSS3 的新特性。例如,
Webkit 类型浏览器(如 Safari、Chrome)的私有属性是以
-webkit-
前缀开始,Gecko 类型的浏览器(如 Firefox)的私有属性是以
-moz-
前缀开始,Konqueror 类型的浏览器的私有属性是以
-khtml-
前缀开始,Opera 浏览器的私有属性是以
-o-
前缀开始,而 Internet Explorer 浏览器的私有属性是以
-ms-
前缀开始(目前只有 IE 8+ 支持-ms-
前缀)。
属性 | IE | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
alignment-adjust | |||||
alignment-baseline | |||||
@keyframes | |||||
animation | |||||
animation-name | |||||
animation-duration | |||||
animation-timing-function | |||||
animation-delay | |||||
animation-iteration-count | |||||
animation-direction | |||||
animation-play-state | |||||
appearance | |||||
backface-visibility | |||||
background-clip | |||||
background-origin | |||||
background-size | |||||
baseline-shift | |||||
bookmark-label | |||||
bookmark-level | |||||
bookmark-target | |||||
border-bottom-left-radius | |||||
border-bottom-right-radius | |||||
border-image | |||||
border-image-outset | |||||
border-image-repeat | |||||
border-image-slice | |||||
border-image-source | |||||
border-image-width | |||||
border-radius | |||||
border-top-left-radius | |||||
border-top-right-radius | |||||
box-decoration-break | |||||
box-align | |||||
box-direction | |||||
box-flex | |||||
box-flex-group | |||||
box-lines | |||||
box-ordinal-group | |||||
box-orient | |||||
box-pack | |||||
box-shadow | |||||
box-sizing | |||||
color-profile | |||||
column-fill | |||||
column-gap | |||||
column-rule | |||||
column-rule-color | |||||
column-rule-style | |||||
column-rule-width | |||||
column-span | |||||
column-width | |||||
columns | |||||
column-count | |||||
crop | |||||
dominant-baseline | |||||
drop-initial-after-adjust | |||||
drop-initial-after-align | |||||
drop-initial-before-adjust | |||||
drop-initial-before-align | |||||
drop-initial-size | |||||
drop-initial-value | |||||
fit | |||||
fit-position | |||||
float-offset | |||||
@font-face | |||||
font-size-adjust | |||||
font-stretch | |||||
grid-columns | |||||
grid-rows | |||||
hanging-punctuation | |||||
hyphenate-after | |||||
hyphenate-before | |||||
hyphenate-characters | |||||
hyphenate-lines | |||||
hyphenate-resource | |||||
hyphens | |||||
icon | |||||
image-orientation | |||||
image-resolution | |||||
inline-box-align | |||||
line-stacking | |||||
line-stacking-ruby | |||||
line-stacking-shift | |||||
line-stacking-strategy | |||||
mark | |||||
mark-after | |||||
mark-before | |||||
marks | |||||
marquee-direction | |||||
marquee-play-count | |||||
marquee-speed | |||||
marquee-style | |||||
move-to | |||||
nav-down | |||||
nav-index | |||||
nav-left | |||||
nav-right | |||||
nav-up | |||||
opacity | |||||
outline-offset | |||||
overflow-style | |||||
overflow-x | |||||
overflow-y | |||||
page | |||||
page-policy | |||||
perspective | |||||
perspective-origin | |||||
punctuation-trim | |||||
rendering-intent | |||||
resize | |||||
rest | |||||
rest-after | |||||
rest-before | |||||
rotation | |||||
rotation-point | |||||
ruby-align | |||||
ruby-overhang | |||||
ruby-position | |||||
ruby-span | |||||
size | |||||
string-set | |||||
target | |||||
target-name | |||||
target-new | |||||
target-position | |||||
text-align-last | |||||
text-emphasis | |||||
text-height | |||||
text-justify | |||||
text-outline | |||||
text-overflow | |||||
text-shadow | |||||
text-wrap | |||||
transform | |||||
transform-origin | |||||
transform-style | |||||
transition | |||||
transition-property | |||||
transition-duration | |||||
transition-timing-function | |||||
transition-delay | |||||
word-break | |||||
word-wrap | 10.5 |
对于某些属性,你会看到浏览器的图标和一个数字,数字表示是第一次支持该属性的浏览器版本。