Progressive Enhancement

所谓农村包围城市——渐进增强

针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

CSS的“渐进增强”有别于CSS hack,hack可以说是提供选择,你死我亡,竞争效应;而“渐进增强”属于更进一步,锦上添花,辅助效应。前者应尽量避免使用,而后者适当使用则有裨益。

渐进增强比较注重内容,即从内容出发,内容为样式和交互构建起坚实的基础。

此处输入图片的描述

拿巧克力豆来类比,从内容(花生仁)讲起,它由丰富 (rich) 的语义化 (X)HTML 代码构成。包裹着内容的是一层浓郁 (rich) 的 CSS 奶油。最后,JavaScript 就是那层可以提升其美妙口感的坚硬糖衣。
有些人可能只喜欢吃花生仁,只注重内容(就像搜索引擎)。有些人喜欢巧克力包裹的花生仁,就像仅支持css的浏览器。而外观鲜艳的糖衣也是很多人的最爱,就像拥有丰富交互能力的浏览器。


应用举例

  • “渐进增强”之CSS3 text-shadow文字阴影属性
  • “渐进增强”之CSS3 border-radius圆角属性
  • “渐进增强”之CSS3 box-shadow盒阴影属性
  • “渐进增强”之CSS3 gradient渐变背景
  • CSS选择器、伪类与“渐进增强”

参考:http://udn.yyuap.com/forum.php?mod=viewthread&tid=101493
http://udn.yyuap.com/forum.php?mod=viewthread&tid=101495