1.1 CSS发展历史
CSS是Cascading Style Sheet的缩写,中文翻译为层叠样式表。CSS控制HTML标签的显示样式,负责设计页面效果。使用CSS能够实现页面的内容与表现分离,提高工作效率。
早期的HTML标签含有大量的显示属性,这带来了一个问题:网页结构和显示样式混在一起,使网页代码混乱不堪,代码冗余增加了带宽负担,代码维护也变得苦不堪言。
1994年,哈坤首次提出了CSS的想法,1995年他与波斯一起展示这个建议。
1996年,W3C正式推出CSS语言,并于同年12月发布CSS 1.0版本(http://www.w3.org/TR/CSS1/)。
1998年5月,CSS 2.0版本正式发布(http://www.w3.org/TR/CSS2/)。
2001年5月23日,W3C完成CSS3版本的工作草案,在该草案中制订了CSS3发展路线图,路线图详细列出了所有模块,并计划在未来逐步进行规范。
2002年,由于各方对CSS3标准分歧太大,W3C开始开发CSS 2.1版本。CSS 2.1是CSS 2.0的修订版,它纠正了CSS 2.0版本中的一些错误,并且更精确地描述了CSS的浏览器实现。
2004年,CSS 2.1正式发布,2006年年底得到完善。CSS 2.1是目前最流行、获得浏览器支持最完整的版本,它更准确地反映了CSS当前的状态。
到目前为止,CSS3还没有推出正式的完整版,但是已经陆续推出了不同的模块,这些模块已经被大部分浏览器支持或部分实现。
CSS3属性支持情况如图1.1所示(http://fmbip.com/litmus/)。可以看出,完全支持CSS3属性的浏览器为Chrome和Safari。
图1.1 CSS3属性支持列表
CSS3选择器支持情况如图1.2所示(http://fmbip.com/litmus/)。除了IE系列版本和Firefox 3,其他浏览器几乎全部支持,如Chrome、Safari、Firefox和Opera。
提示:部分浏览器允许使用私有属性支持CSS3的新特性。例如,Webkit类型浏览器(如Safari、Chrome)的私有属性是以-webkit-前缀开始,Gecko类型浏览器(如Firefox)的私有属性是以-moz-前缀开始,Konqueror类型浏览器的私有属性是以-khtml-前缀开始,Opera浏览器的私有属性是以-o-前缀开始,而Internet Explorer浏览器的私有属性是以-ms-前缀开始(目前只有IE8+支持-ms-前缀)。
图1.2 CSS3选择器支持列表