好程序員web前端學習路線分享css3中的漸進增強和降級-創(chuàng)新互聯(lián)

好程序員web前端學習路線分享css3中的漸進增強和降級,漸進增強和降級這兩個概念是在 CSS3 出現(xiàn)之后火起來的。由于低級瀏覽器不支持 CSS3,但是 CSS3 特效太優(yōu)秀不忍放棄,所以在高級瀏覽器中使用CSS3,而在低級瀏覽器
只保證最基本的功能。二者的目的都是關(guān)注不同瀏覽器下的不同體驗,但是它們側(cè)重點不同,所以導致了工作流程上的不同。

專注于為中小企業(yè)提供網(wǎng)站制作、成都做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)泗陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

漸進增強(Progressive Enhancement):一開始就針對低版本瀏覽器進行構(gòu)建頁面,完成基本的功能,然后再針對高級瀏覽器進行效果、交互、追加功能達到更好的體驗。

優(yōu)雅降級(Graceful Degradation):一開始就構(gòu)建站點的完整功能,然后針對瀏覽器測試和修復。比如一開始使用 CSS3 的特性構(gòu)建了一個應用,然后逐步針對各大瀏覽器進行 hack 使其可以在低版本瀏覽器上正常瀏覽。

在傳統(tǒng)軟件開發(fā)中,經(jīng)常會提到向上兼容和向下兼容的概念。漸進增強相當于向上兼容,而優(yōu)雅降級相當于向下兼容。向下兼容指的是高版本支持低版本的或者說后期開發(fā)的版本支持和兼容早期開發(fā)的版本,向上兼容的很少。大多數(shù)軟件都是向下兼容的,比如說Office2010能打開Office2007,Office2006,Office2005,Office2003等建的word文件,但是用Office2003就不能打開用Office2007,Office2010等建的word文件!

兩者的區(qū)別:

優(yōu)雅降級和漸進增強只是看待同種事物的兩種觀點。優(yōu)雅降級和漸進增強都關(guān)注于同一網(wǎng)站在不同設(shè)備里不同瀏覽器下的表現(xiàn)程度。關(guān)鍵的區(qū)別則在于它們各自關(guān)注于何處,以及這種關(guān)注如何影響工作的流程。

優(yōu)雅降級觀點認為應該針對那些最高級、最完善的瀏覽器來設(shè)計網(wǎng)站。而將那些被認為“過時”或有功能缺失的瀏覽器下的測試工作安排在開發(fā)周期的最后階段,并把測試對象限定為主流瀏覽器(如 IE、Mozilla 等)的前一個版本。在這種設(shè)計范例下,舊版的瀏覽器被認為僅能提供“簡陋卻無妨 (poor, but passable)” 的瀏覽體驗。你可以做一些小的調(diào)整來適應某個特定的瀏覽器。但由于它們并非我們所關(guān)注的焦點,因此除了修復較大的錯誤之外,其它的差異將被直接忽略。

漸進增強觀點則認為應關(guān)注于內(nèi)容本身。請注意其中的差別:我甚至連“瀏覽器”三個字都沒提。內(nèi)容是我們建立網(wǎng)站的誘因。有的網(wǎng)站展示它,有的則收集它,有的尋求,有的操作,還有的網(wǎng)站甚至會包含以上的種種,但相同點是它們?nèi)忌婕暗絻?nèi)容。這使得漸進增強成為一種更為合理的設(shè)計范例。這也是它立即被 Yahoo! 所采納并用以構(gòu)建其“分級式瀏覽器支持 (Graded Browser Support)”策略的原因所在。

案例分析:

(1)代碼

.transition { /*漸進增強寫法*/

-webkit-transition: all .5s;

-moz-transition: all .5s;

-o-transition: all .5s;

transition: all .5s;

}

.transition { /*優(yōu)雅降級寫法*/

transition: all .5s;

-o-transition: all .5s;

-moz-transition: all .5s;

-webkit-transition: all .5s;

}

(2)前綴CSS3(-webkit- / -moz- / -o-*)和正常CSS3在瀏覽器中的支持情況是這樣的:

很久以前:瀏覽器前綴CSS3和正常CSS3都不支持;

不久之前:瀏覽器只支持前綴CSS3,不支持正常CSS3;

現(xiàn)在:瀏覽器既支持前綴CSS3,又支持正常CSS3;

未來:瀏覽器不支持前綴CSS3,僅支持正常CSS3.

(3)漸進增強的寫法,優(yōu)先考慮老版本瀏覽器的可用性,最后才考慮新版本的可用性。在時期3前綴CSS3和正常CSS3都可用的情況下,正常CSS3會覆蓋前綴CSS3。優(yōu)雅降級的寫法,優(yōu)先考慮新版本瀏覽器的可用性,最后才考慮老版本的可用性。在時期3前綴CSS3和正常CSS3都可用的情況下,前綴CSS3會覆蓋正常的CSS3。

就CSS3這種例子而言,我更加推崇漸進增強的寫法。因為前綴CSS3的某些屬性在瀏覽器中的實現(xiàn)效果有可能與正常的CSS3實現(xiàn)效果不太一樣,所以最終還是得以正常CSS3為準。如果你好奇究竟是什么屬性在前綴CSS3和正常CSS3中顯式效果不一樣。

(4)如何抉擇

根據(jù)你的用戶所使用的客戶端的版本來做決定。請注意我的措辭,我沒有用瀏覽器,而是用客戶端。因為漸進增強和優(yōu)雅降級的概念本質(zhì)上是軟件開發(fā)過程中低版本軟件與高版本軟件面對新功能的兼容抉擇問題。服務端程序很少存在這種問題,因為開發(fā)者可以控制服務端運行程序的版本,就無所謂漸進增強和優(yōu)雅降級的問題。但是客戶端程序則不是開發(fā)者所能控制的(你總不能強制用戶去升級它們的瀏覽器吧)。我們所謂的客戶端,可以指瀏覽器,移動終端設(shè)備(如:手機,平板電腦,智能手表等)以及它們對應的應用程序(瀏覽器對應的是網(wǎng)站,移動終端設(shè)備對應的是相應的APP)。

現(xiàn)在有很成熟的技術(shù),能夠讓你分析使用你客戶端程序的版本比例。如果低版本用戶居多,當然優(yōu)先采用漸進增強的開發(fā)流程;如果高版本用戶居多,為了提高大多數(shù)用戶的使用體驗,那當然優(yōu)先采用優(yōu)雅降級的開發(fā)流程。

然而事實情況是怎么樣的呢?絕大多數(shù)的大公司都是采用漸進增強的方式,因為業(yè)務優(yōu)先,提升用戶體驗永遠不會排在最前面。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文標題:好程序員web前端學習路線分享css3中的漸進增強和降級-創(chuàng)新互聯(lián)
分享路徑:http://www.muchs.cn/article14/shsde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、企業(yè)建站動態(tài)網(wǎng)站、網(wǎng)站設(shè)計、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)