1.CSS简介
CSS3是CSS技术的升级版本,是最新的CSS标准。CSS3规范继承了CSS21并进行了很多的增补与修改。
1.CSS3模块
为了提高开发速度,也为了方便各主流浏览器根据需要渐进式支持,CSS3按模块化进行了全新设计,这些模块可以独立发布和实现,也为日后CSS的扩展奠定了基础。
2.CSS3的优点
CSS3的优点:
CSS3将完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。对我们来说,CSS3主要的影响是将可以使用新的可用的选择器和属性,这些会允许实现新的设计效果(譬如动态和渐变),而且可以很简单的设计出现在的设计效果(比如说使用分栏)。
3.渐进增强和优雅降级
渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。
4.浏览器的私有前缀
某些CS3属性还只是最新版的预览版,并未发布成最终的正式版,而大部分浏览器已经为这些属性提供了支持,但这些属性是小部分浏览器专有的;有些时候,有些浏览器为了扩展某方面的功能,它们会选择新增一些CSS属性,这些自行扩展的CSS属性也是浏览器专属的。为了让这些浏览器识别这些专属属性,
各个主流浏览器的私有前缀:
内核 | 私有前级 | 浏览器 |
Gecko 内核 | -moz- | 火狐浏览器 |
WebKit 内核 | -webkit- | ChromeSafari |
Presto 内核 | -O- | Opera(欧朋) |
Trident内核 | -ms- | IE |
当一个属性成为标准,并且被 Firefox、Chrome等浏览器的最新版普遍兼容的时候我们可以去掉前缀。书写顺序是先写私有的CSS3属性,再写标准的 CSS3属性。以 border-radius为例,为了兼容老旧版本的浏览器我们要写以下代码:
-moz-border-radius:50px;
-webkit-border-radius:50px;
border-radius:50px;
Firefox4、Safari5以及Chrome都支持border-radius属性了,我们就没有必要写以上两条了:
border-radius:50px;