新聞中心
背景
漸進(jìn)增強(qiáng)和優(yōu)雅降級這兩個概念是在 CSS3 出現(xiàn)之后火起來的。由于低級瀏覽器不支持 CSS3,但是 CSS3 特效太優(yōu)秀不忍放棄,所以在高級瀏覽器中使用CSS3,而在低級瀏覽器只保證最基本的功能。二者的目的都是關(guān)注不同瀏覽器下的不同體驗(yàn),但是它們側(cè)重點(diǎn)不同,所以導(dǎo)致了工作流程上的不同。

概念
優(yōu)雅降級(graceful degradation):一開始就構(gòu)建站點(diǎn)的完整功能,然后再針對低版本瀏覽器進(jìn)行兼容。
(Web站點(diǎn)在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認(rèn)它們是否能正常工作。由于IE獨(dú)特的盒模型布局問題,針對不同版本的IE的hack實(shí)踐過優(yōu)雅降級了,為那些無法支持功能的瀏覽器增加候選方案,使之在舊式瀏覽器上以某種形式降級體驗(yàn)卻不至于完全失效。)
漸進(jìn)增強(qiáng)(Progressive Enhancement):針對低版本瀏覽器進(jìn)行構(gòu)建頁面,保證最基本的功能,然后再針對高級瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗(yàn)。
(從被所有瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能,向頁面添加無害于基礎(chǔ)瀏覽器的額外樣式和功能。當(dāng)瀏覽器支持時,它們會自動地呈現(xiàn)出來并發(fā)揮作用。)
區(qū)別
/* 優(yōu)雅降級 */
.transition{
transition: all .5s;
-o-transition: all .5s;
-moz-transition: all .5s;
-webkit-transition: all .5s;
}
/* 漸進(jìn)增強(qiáng) */
.transition{
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
通過兩段代碼的書寫順序,可以看出漸進(jìn)增強(qiáng)和優(yōu)雅降級開發(fā)的重點(diǎn)不同。優(yōu)雅降級是從復(fù)雜的現(xiàn)狀開始,并試圖減少用戶體驗(yàn)的供給,而漸進(jìn)增強(qiáng)則是從一個非常基礎(chǔ)的、能夠起作用的版本開始,并不斷擴(kuò)充,以適應(yīng)未來環(huán)境的需要。
優(yōu)雅降級(Graceful Degradation)原則指的是在開發(fā)過程中,先構(gòu)建網(wǎng)站或應(yīng)用的基本功能,然后再針對低版本瀏覽器進(jìn)行兼容。這樣可以確保網(wǎng)站或應(yīng)用在所有瀏覽器中都能正常工作,并為那些無法支持最新版本的瀏覽器提供一個過渡方案,從而不至于完全失效。
相比之下,漸進(jìn)增強(qiáng)(Progressive Enhancement)原則指的是在開發(fā)過程中,逐步增加新的功能和特性,以適應(yīng)不斷變化的市場和用戶需求。這種方法可以使網(wǎng)站或應(yīng)用更加現(xiàn)代化和新穎,從而吸引更多的用戶。
優(yōu)雅降級和漸進(jìn)增強(qiáng)的區(qū)別在于,優(yōu)雅降級是從復(fù)雜的現(xiàn)狀開始,盡可能減少用戶體驗(yàn)的供給,而漸進(jìn)增強(qiáng)則是從一個非常基礎(chǔ)的、能夠起作用的版本開始,不斷擴(kuò)充以適應(yīng)未來環(huán)境的需要。因此,優(yōu)雅降級更加注重網(wǎng)站或應(yīng)用的功能和兼容性,而漸進(jìn)增強(qiáng)更加注重網(wǎng)站或應(yīng)用的新穎性和現(xiàn)代化。
標(biāo)題名稱:前端面試:優(yōu)雅降級和漸進(jìn)增強(qiáng)
文章鏈接:http://www.dlmjj.cn/article/djddsig.html


咨詢
建站咨詢
