天天看點

第143天:漸進增強和優雅降級之間的不同

漸進增強和優雅降級之間的不同

1、漸進增強

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

2、優雅降級

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

第一個例子的寫法叫做漸進增強(progressive enhancement),第二個例子的寫法叫做優雅降級(graceful degradation)。(關于漸進增強,可以參考張鑫旭的文章:

 http://www.zhangxinxu.com/wordpress/?p=788

3、什麼是漸進增強(progressive enhancement)、優雅降級(graceful degradation)呢?

  漸進增強(progressive enhancement):針對低版本浏覽器進行建構頁面,保證最基本的功能,然後再針對進階浏覽器進行效果、互動等改進和追加功能達到更好的使用者體驗。(從被所有浏覽器支援的基本功能開始,逐漸地添加那些隻有新式浏覽器才支援的功能,向頁面添加無害于基礎浏覽器的額外樣式和功能。當浏覽器支援時,它們會自動地呈現出來并發揮作用。)

  優雅降級(graceful degradation):一開始就建構完整的功能,然後再針對低版本浏覽器進行相容。(Web站點在所有新式浏覽器中都能正常工作,如果使用者使用的是老式浏覽器,則代碼會檢查以确認它們是否能正常工作。由于IE獨特的盒模型布局問題,針對不同版本的IE的hack實踐過優雅降級了,為那些無法支援功能的浏覽器增加候選方案,使之在舊式浏覽器上以某種形式降級體驗卻不至于完全失效。)

  差別:優雅降級是從複雜的現狀開始,并試圖減少使用者體驗的供給,而漸進增強則是從一個非常基礎的、能夠起作用的版本開始,并不斷擴充,以适應未來環境的需要。

4、漸進增強觀點:

  漸進增強觀點認為應該關注于内容本身。内容是我們建立網站的誘因,有的網站展示它,有的則收集它,有的尋求、有的操作,還有的網站甚至包含以上的種種,但相同點是他們全都涉及到内容,這使得“漸進增強”成為一種更為合理的設計範例。這也是它立即被Yahoo!所采納并用以建構其“分級式浏覽器支援(Graded Browser Support)“政策的原因所在。

5、優雅降級觀點:

  優雅降級觀點認為應該針對那些最進階、最完善的浏覽器來設計網站。而将那些被認為“過時”或有功能缺失的浏覽器下的測試工作安排在開發周期的最後階段,并把測試對象限定為主流浏覽器(如IE、Mozilla等)的前一個版本。

在這種設計範例下,舊版的浏覽器被認為僅能提供“簡陋卻無妨(poor,but passable)”的浏覽體驗。你可以做一些小的調整來适應某個特定的浏覽器。但由于它們并非我們所關注的焦點,是以除了修複較大的錯誤之外,其它的差異将被直接忽略。

繼續閱讀