一、渐进增强(向上兼容)
- 一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。
- 由于CSS重复属性会被叠加覆盖,当浏览器均支持时,最新正常CSS样式会覆盖 -webkit-前缀的样式。
- 确保了业务内容的兼容性,所以是合理的设计范例。
- demo:
.transition { /*渐进增强写法*/ -webkit-transition: all .5s; -moz-transition: all .5s; -o-transition: all .5s; transition: all .5s; }
二、优雅降级(向下兼容)
- 一开始就构建站点的完整功能,然后针对浏览器测试和修复。针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。
- 在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
- 由于CSS重复属性会被叠加覆盖,当浏览器均支持时, -webkit-前缀的CSS样式会覆盖最新正常的样式。
- demo:
.transition { /*优雅降级写法*/ transition: all .5s; -o-transition: all .5s; -moz-transition: all .5s; -webkit-transition: all .5s; }