优雅降级与渐进增强

文章参考:http://www.cnblogs.com/mofish/p/3822879.html

.transition{
  -webkit-transition: all .5s;
     -moz-transition: all .5s;
       -o-transition: all .5s;
          transition: all .5s;  
}
.transition{ 
       transition: all .5s;
    -o-transition: all .5s;
   -moz-transition: all .5s;
 -webkit-transition: all .5s;
}

 带前缀的排列应该只是为了整齐吧(还是代表了对浏览器的喜好程度)?但是transition放在前面还是后面却引申了两个概念:优雅降级和渐进增强。

区别:优雅降级(功能衰减)是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。

关键的区别则在于它们各自关注于何处,以及这种关注如何影响工作的流程。

优雅降级(graceful degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。(在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。)

渐进增强(progressive enhancement):一开始只构建站点的最少特性,然后不断针对各浏览器追加功能。从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能。