当前位置: 首页 > Web前端 > CSS

渐进增强和优雅降级之间有什么不同-

时间:2023-03-30 18:56:20 CSS

渐进增强和优雅降级有什么区别?】【更多讨论】【参考文献】八个方面深度剖析前端知识/技能。本文分享的是:【渐进增强和优雅降级有什么区别?】是在CSS3出现之后才流行起来的。因为低级浏览器,比如(特)比(不)比如(是)IE6,不支持CSS3浏览器,但是CSS3样式好到舍不得放弃,所以CSS3样式应用在高低级浏览器,低级浏览器应用CSS3样式。只保证基本功能。“Progressiveenhancement”是StevenChampeon于2003年3月11日在奥斯汀举行的SXSWInteractiveConference上提出的,并通过2003年3月至2003年6月的一系列Webmonkey教程文章宣布。(我查了很久资料,只找到看了英文文章后的这段历史,感觉很无奈。)谷歌非常支持这种开发方式。我觉得progressiveenhancement不仅仅是一种前端开发思想,更是一种程序。开拓思路。二、知识分析1、什么是渐进增强在web开发中,渐进增强认为应该关注内容本身。一开始为低版本浏览器构建页面,满足最基本的功能,然后为高级浏览器进行效果、交互、添加各种功能,以达到更好的用户体验。也就是说,以最低要求实现最基本的功能,功能是基础的,向上兼容的。以css为例,下面的写法是progressiveenhancement。2、什么是优雅降级在Web开发中,优雅降级是指一开始就为高版本浏览器构建一个页面,先完善所有功能。然后针对不同的浏览器进行测试和修复,只要确保低级别浏览器也具有基本功能即可。低级浏览器被认为“很差,但还过得去”,可以做一些小的调整以适应特定的浏览器。但由于它们不是我们关注的重点,因此除了修复较大的错误外,其他差异将被忽略。也就是说,基于高要求、高版本,向下兼容。以css为例,优雅降级写法如下。3.两者的区别1.)如果采用渐进增强的开发流程,先做一个基础功能版,然后针对各个浏览器逐步增加各种功能。与优雅降级相比,开发周期长,前期投入大。想想看,给客户看一个基本功能的版本是不可能的。但是,也有优点,那就是它提供了更好的平台稳定性,需要更少的维护资金,从长远来看降低了开发成本。2.)优雅降级呢,可以在短时间内开发出只针对一个浏览器的全功能版本,然后拿来PM跟客户说,可以用来测试和市场测试,对于尚未确定功能的产品,优雅降级是一种节省成本的方法。从技术上看,浏览器对前缀CSS3(-webkit-/-moz-/-o-*)和普通CSS3的支持情况如下:1.很久以前:不支持浏览器前缀CSS3和普通CSS3;2.前不久:浏览器只支持prefixCSS3,不支持normalCSS3;3、现在:浏览器同时支持前缀CSS3和普通CSS3;4.未来:浏览器不支持前缀CSS3,只支持普通CSS3..transition{/progressiveenhancement/-webkit-border-radius:30px10px;-moz-border-radius:30px10px;border-radius:30px10px;}.transition{/elegantdegradation/border-radius:30px10px;-moz-border-radius:30px10px;-webkit-border-radius:30px10px;}从技术角度来看,这两种写法的效果应该是一样的,但是我们的浏览器目前卡在他妈的第三阶段,也就是现在,前缀写法和普通写法都支持,所以会出问题。当属性超过一个参数值时,不同属性的效果是不一样的!点击链接查看效果,可以看到采用了优雅降级的写法。如果一个浏览器既支持前缀写法又支持普通写法,老的浏览器后面的风格覆盖了新版本的风格,就会出现一些奇怪的问题,但是渐进增强的方法不存在这个问题。这个属性比border-radius还多,所以为了避免这种不必要的错误,建议大家使用progressiveenhancement。3、常见问题渐进增强和优雅降级如何选择4、解决方案如果开发时间充足,开发资金到位,不存在选择问题。一定是渐进增强!但现实往往很骨感。这个时候就要看你产品开发的受众,以及受众使用的客户端。如果受众覆盖的年龄范围广,客户端从手机到平板再到电脑,比如淘宝页面,那就没办法了,老老实实选择渐进增强。如果受众客户端比较单一,比如手机端,逐步提升PC端就没那么重要了。每个都有自己的优势,但现实是大多数公司都使用渐进增强。毕竟业务是第一位的,体验不会凌驾于业务之上。5.更多讨论问题1:大网站一般用什么方法回答1:大网站现场搜索后直接采用了-webkit-xxxxxx的一种方法,没有增强也没有降级问题2:为什么加前缀回答2:对于比如Google,老版本只支持前缀的写法,新版本兼容问题3:为什么会出现这两个概念?答3:主要原因是CSS3的出现,不同的浏览器支持程度不同。6.参考文献《需警惕css3属性的书写顺序》--张新旭《认识优雅降级和渐进增强》--Angus《渐进增强 VS 优雅降级》--康斌“我们相信每个人都可以成为工程师,现在就开始,找一个指导你入门的师兄,你就会学习路上不再迷茫,这里有技能树。IT修真学院:http://www.jnshu.com,初学者转行互联网行业的聚集地。”欢迎加入IT交流群565734203与大家一起探讨交流