當前位置:首頁 » 網頁前端 » 前端過渡與動畫的區別
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端過渡與動畫的區別

發布時間: 2022-10-09 06:34:35

❶ CSS animation 與 CSS transition 有何區別

一、指代不同

1、animation :屬性是一個簡寫屬性,用於設置六個動畫屬性。

2、transition:屬性是一個簡寫屬性,用於設置四個過渡屬性。

二、特點不同

1、animation :animation: name ration timing-function delay iteration-count direction;規定需要綁定到選擇器的 keyframe 名稱。規定完成動畫所花費的時間,以秒或毫秒計。

2、transition:transition: property ration timing-function delay;規定設置過渡效果的 CSS 屬性的名稱。規定完成過渡效果需要多少秒或毫秒。


三、要求不同

1、animation :請始終規定 animation-ration 屬性,否則時長為 0,就不會播放動畫了。

2、transition:始終設置transition-ration屬性,否則時長為 0,就不會產生過渡效果。


❷ 簡述過渡特效與視頻特效的區別

過度特效
就是只鏡頭之間一個轉換,過渡到下一個鏡頭是用的一些特效,如飛入,溶解,百葉窗
視頻特效
就是指
鏡頭裡面的特殊效果,
如三維動畫裡面的
水,火,雲,煙,一些粒子效果。車撞飛的爆炸
原子彈爆炸
樓房的倒塌
都是視頻(影視)特效
小學過一點點影視特效
嘿嘿

❸ CSS animation 與 CSS transition 有何區別

transition和animation的一些區別。
transition是過渡效果,animation是動畫。
transition只能指定起始狀態(from)和結束狀態(to),animation可以有多個關鍵幀設置。
transition需要有動作(hover等)來觸發才能執行,animation可以自己執行。
兩者支持的屬性不同,animation多出iteration-count,direction,play-state等屬性,增加可控性。
transition的作用就是「平滑改變CSS值」
(資料來源:HTML5學堂)

❹ css3中的動畫功能transition和animation兩種的區別是什麼

css中動畫功能分為transition和animation兩種,這個兩種方法都可以通過改變css中的屬性值來產生動畫效果
transition:只能實現兩個簡單值之間的過渡
animation:通過引用keyframes關鍵幀來實現復雜動畫。by三人行慕課

❺ 簡述過渡特效與視頻特效的區別

過度特效 就是只鏡頭之間一個轉換,過渡到下一個鏡頭是用的一些特效,如飛入,溶解,百葉窗

視頻特效 就是指 鏡頭裡面的特殊效果, 如三維動畫裡面的 水,火,雲,煙,一些粒子效果。車撞飛的爆炸 原子彈爆炸 樓房的倒塌 都是視頻(影視)特效

小學過一點點影視特效 嘿嘿

❻ CSS animation 與 CSS transition 有何區別

animation(動畫)是可以循環運行的,transition(過渡)只能單次運行;
前者可以主動運行(意思就是網頁一打開動畫就可以自己自動運行),後者則是被動運行(比如需要滑鼠移到元素上才會產生過渡效果);
前者可以利用任何css屬性來產生動畫,而後者則只能利用可量化的css屬性(比如width、height等)來產生過渡效果;
暫時就想到這么多了,有沒有其他歡迎大家補充。
其實從名字你就能看到區別了啊,「過渡」就是在兩種狀態之間產生一系列中間狀態,比方說一個元素由小變大,如果是瞬間變化,會給人一種生硬的感覺,而如果在這個過程中添加一個由小逐漸變大的短暫效果,就會變得柔和許多。而「動畫」,這個就不用多說了吧,大家都是童年過來的,動畫片啊,這怎麼能是區區「過渡」所能比擬的呢?

❼ 開發者選項窗口動畫和過渡動畫區別

窗口動畫和過渡動畫是指在窗口(activity或dialog)切換時的顯示動畫,窗口動畫的范圍相對較廣,包括activity和dialog,而過渡動畫只包括activity。

? 第一種方法是調用overridePendingTransition的方法,記得要在startActivity之前調用,還可以用startActivity(Intent, Bundle)設置Bundle來實現,這種可以跨Context,而overridePendingTransition只能在當前app內實現,具體做法是ActivityOptions.makeCustomAnimation(context, enterResId, exitResId).toBundle(),這種方法要求系統是4.1以後的。這兩種方法實現的都是過渡動畫。

? 前面這些方法都只能做activity的動畫,要做dialog的動畫,就必須用窗口動畫。方法是設置style,然後dialog.getWindow().setWindowAnimations(R.style.MyStyle)或者dialog.getWindow().getAttributes().windowAnimations = R.style.MyStyle;這樣就可以在彈出dialog的時候播放動畫了。窗口動畫也可以作用在activity上,style的設置一樣,代碼也差不多,直接在activity內就可以調用getWindow這條方法。style還有另外一種做法:

? 這種設置的是過渡動畫,只對activity有用,對dialog沒用。(除了用getWindow來設置動畫資源外,還可以在你的Theme里添加一個item,item的name是android:windowAnimationStyle,然後指定上面的一種style)。

? 從原理上看,窗口動畫和過渡動畫其實就是系統在切換窗口時讀取相應的動畫資源,上面的所有做法本質上就是在替換那些資源。開發者需要處理的是如何選擇,是窗口動畫還是過渡動畫。如果是dialog,只有窗口動畫可選,也只能通過style來完成。如果是activity,就兩種動畫都可以,但大多情況下還是用過渡動畫,因為通過像overridePendingTransition這些api可以很簡單的實現,而如果想把動畫應用到整個Activity,用style就更方便,至於用上面哪種style,其實沒什麼影響。

? 在實際的開發中,其實並不提倡用上面這些方法,因為手機的設置可以關閉這兩種動畫(在開發者選項那裡),你沒法保證app一定能顯示動畫。對於activity動畫來說,可以在新的activity初始化結束後啟動常規的動畫,但這種方法要求你必須等到窗口的相關view初始化結束,但什麼時候結束是無法預測的,這和手機性能有關,所以你可以設置定時器來播放,而對於dialog就沒有其他解決的方法了。

❽ CSS animation 與 CSS transition 有何區別

Transition:對元素某個屬性或多個屬性的變化,進行控制(時間等),類似flash的補間動畫。但只有兩個關鍵貞。開始,結束。

Animation:對元素某個屬性或多個屬性的變化,進行控制(時間等),類似flash的補間動畫。可以設置多個關鍵貞。

Transition與Animation區別:

transition需要觸發一個事件,而animation在不需要觸發任何事件的情況下也可以顯式的隨著時間變化來改變元素css的屬性值,從而達到一種動畫的效果。


Transition:

transition屬性是一個簡單的動畫屬性,非常簡單非常容易用。可以說它是animation的簡化版本,是給普通做簡單網頁特效用的。比如你有如下兩個樣式:

.position{

left:100px;

top:100px;

}

.animate{

-webkit-transition:left0.5sease-out;

left:500px;

top:500px;

}

其中animate的transition的屬性的意思說:當left屬性發生變化的時候,執行動畫效果(僅僅基於left的屬性變化,其他的屬性不會加入到動畫變化裡面去);

首先css為position。當cssList增加animate或者替換position為animate的時候,元素的屬性變化,觸發webkit-transition,以指定屬性變化前的值為起始值,變化後的屬性為結束值,執行動畫效果。這是一個簡單的兩點變化過程,大大簡化了animation屬性的復雜程度。

同時,如果在transition的動畫當中,屬性值有了新的變化,則會中斷當前的動畫執行,並將中斷時的屬性值提供給新的動畫作為起始值來計算新的動畫效果。

Animation:

在官方的Introction上介紹這個屬性是transition屬性的擴展。但是這個簡單的介紹裡麵包含了不簡單的東西:keyframes。

做過Flash動畫的人都會知道,Flash裡面有兩個基礎武器:時間軸和關鍵幀。而csskeyframes的出現,則是提供了flash世界裡面的這兩個屬性的合集。看一個簡單的keyframes的示例:

@keyframes'wobble'{

0%{

left:100px

}

30%{

left:300px;

}

100%{

left:500px;

}

}

.animate{

left:100px;

-webkit-animation:wobble0.5sease-out;

-webkit-animation-fill-mode:backwards;

}

上面這個代碼展示了一個keyframes'wobble',其中0%代表在變化中不同時間點的屬性值,可以較精確的控制動畫變化中任何一個時間點的屬性效果。而animation則根據這個keyframes提供的屬性變化方式去計算元素動畫當中的屬性。與transition不同的是,keyframes提供更多的控制,尤其是時間軸的控制,這點讓cssanimation更加強大,使得flash的部分動畫效果可以由css直接控制完成,而這一切,僅僅只需要幾行代碼,也因此誕生了大量(比起flash來說算是大量了)基於css的animationtools,用來取代flash的動畫部分。關於動畫工具,可以參考Webstandards-basedAnimationTools.

另外在animation屬性裡面還有一個最重要的就是:animation-fill-mode,這個屬性標示是以(from/0%)指定的樣式還是以(to/100%)指定的樣式為動畫完成之後的樣式。這個很方便我們控制動畫的結尾樣式,保證動畫的整體連貫。

❾ Web前端知識體系簡介

今天小編要跟大家分享的文章是關於Web前端知識體系簡介。Web前端技術由html、css和javascript三大部分構成,是一個龐大而復雜的技術體系,其復雜程度不低於任何一門後端語言。而我們在學習它的時候往往是先從某一個點切入,然後不斷地接觸和學習新的知識點,因此對於初學者很難理清楚整個體系的脈絡結構。本文將對Web前端知識體系進行簡單的梳理,對應的每個知識點點到為止,不作詳細介紹。目的是幫助大家審查自己的知識結構是否完善,如有遺漏或不正確的地方,希望共勉。下面來和小編一起看一看吧!

一、JAVASCRIPT篇


0、基礎語法


Javascript基礎語法包括:變數定義、數據類型、循環、選擇、內置對象等。


數據類型有string,number,boolean,null,undefined,object等。其中,string,number和boolean是基礎類型,null和undefined是JS中的兩個特殊類型,object是引用類型。
Javascript可以通過typeof來判斷基礎數據類型,但不能夠准確判斷引用類型,
因此需要用到另外一個方法,那就是Object的toString,關於數據類型及其判斷可以參考以下博客:數據類型詳解和判斷JS數據類型的四種方法


JS常用的內置對象有Date、Array、RegExp等。一般來講,Date和Array用的最頻繁,正則表達式RegExp是處理字元串的利器。
關於數據和正則表達式的用法可以參考博客:ES5對數組增強的9個API和JS正則表達式精簡


1、函數原型鏈


Javascript雖然沒有繼承概念,但Javascript在函數Function對象中建立了原型對象prototype,並以Function對象為主線,從上至下,在內部構建了一條原型鏈。


簡單來說就是建立了變數查找機制,當訪問一個對象的屬性時,先查找對象本身是否存在,如果不存在就去該對象所在的原型連上去找,直到Object對象為止,如果都沒有找到該屬性才會返回undefined。因此我們經常會利用函數的原型機制來實現JS繼承。關於函數原型鏈可參考博客:JS原型對象和原型鏈


2、函數作用域


函數作用域就是變數在聲明它們的函數體以及這個函數體嵌套的任意函數體內都是有定義的。在JS中沒有會塊級作用域,只有函數作用域,因此JS中還存在著另外一種怪異現象,那就是變數提升。關於作用域的介紹請參考博客:函數的作用域和作用域鏈


3、函數指針this


this存在於函數中,它指向的是該函數在運行時被調用的那個對象。在實際項目中,遇到this的坑比較多,因此需要對this作深入的理解。


Function對象還提供了call、apply和bind等方法來改變函數的this指向,其中call和apply主動執行函數,bind一般在事件回調中使用,而call和apply的區別只是參數的傳遞方式不同。關於call,apply和bind的用戶請參考博客:詳解JS的call,apply和bind


4、構造函數new


JS中的函數即可以是構造函數又可以當作普通函數來調用,當使用new來創建對象時,對應的函數就是構造函數,通過對象來調用時就是普通函數。


普通函數的創建有:顯式聲明、匿名定義、newFunction()等三種方式。


當通過new來創建一個新對象時,JS底層將新對象的原型鏈指向了構造函數的原型對象,於是就在新對象和函數對象之間建立了一條原型鏈,通過新對象可以訪問到函數對象原型prototype中的方法和屬性。new的詳細介紹請參考博客:理解JS中的new運算符


5、閉包


閉包其實是一個主動執行的代碼塊,這個代碼塊的特殊之處是可以永久保存局部變數,但又不污染全局變數,可以形成一個獨立的執行過程,因此我們經常用閉包來定義組件。


關於閉包的介紹請參考:干貨分享:讓你分分鍾學會JS閉包


6、單線程和非同步隊列


setTimeout和setInterval是JS內置的兩個定時器,使用很簡單,但這兩個方法背後的原理卻不簡單。


我們知道,JS是單線程語言,在瀏覽器中,當JS代碼被載入時,瀏覽器會為其分配一個主線程來執行任務(函數),主線程會形成一個全局執行環境,執行環境採用棧的方式將待執行任務按順序依次來執行。


但在瀏覽器中有一些任務是非常耗時的,比如http請求、定時器、事件回調等,為了保證其他任務的執行效率不被影響,JS在執行環境中維護了一個非同步隊列(也叫工作線程),並將這些任務放入隊列中進行等待,這些任務的執行時機並不確定,只有當主線程的任務執行完成以後,才會去檢查非同步隊列中的任務是否需要開始執行。


這就是為什麼setTimeout(fn,0)始終要等到最後執行的原因。關於單線程和非同步隊列問題請參考:setTimeout(0)


7、非同步通訊Ajax技術


Ajax是瀏覽器專門用來和伺服器進行交互的非同步通訊技術,其核心對象是XMLHttpRequest,通過該對象可以創建一個Ajax請求。為了防止XSS攻擊,瀏覽器對Ajax做了限制,不允許Ajax跨域請求伺服器,就是只能訪問當前域名下的url。


當然,如果確信你的站點不存在跨域的風險,可以在服務端主動開啟跨域請求,也可以通過CORS或JSONP來實現。


JSONP是利用腳本(script)跨域能力來模擬Ajax請求。


CORS是一個W3C標准,全稱是"跨域資源共享"(Cross-originresource
sharing)。它允許瀏覽器向跨源伺服器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。關於CORS的介紹請參考:跨域資源共享
CORS詳解


8、DOM對象document


document對象里保存著整個Web頁面dom結構,在頁面上所有的元素最終都會映射為一個dom對象。
document也提供了很多api來查找特定的dom對象,比如getElementById,querySelector等等。


9、事件系統Event


事件是用戶與頁面交互的基礎,到目前為止,DOM事件從PC端的滑鼠事件(mouse)發展到移動端的觸摸事件(touch)
和手勢事件(guesture)


由於DOM結構可能會多層嵌套,因此也衍生出了兩種事件流:事件捕獲和事件冒泡,後者最常用。利用事件冒泡機制可以實現很多功能,比如頁面點擊統計。關於兩種事件流的介紹請參考:事件冒泡和捕獲


除此之外,在頁面初始化、滾動、隱藏、返回等操作時分別內置了onload/onDOMContentLoaded、onscroll、onvisibility和onhashchange等事件,如果想要捕獲這些事件,需要通過addEventLisener/attachEvent來進行綁定。


10、全局對象window


在JS中,當一段JS代碼在瀏覽器中被載入執行,JS引擎會在內容中構建一個全局執行環境,執行環境的作用是保證所有的函數能按照正確的順序被執行,而window對象則是這個執行環境中的一個全局對象,window對象中內置了很多操作api和對象,document對象就是其中一個。關於JS執行環境的介紹請參考博客:深入理解JS執行細節


二、CSS篇


css是用來對html進行修飾的一門語言。


1、選擇器


css的選擇器有很多種,常用的有類選擇器、標簽選擇器、ID選擇器、後代選擇器、群組選擇器、偽類選擇器(before/after)、兄弟選擇器(+~)、屬性選擇器等等。


2、定位


定位一般有相對定位(relative)、絕對定位(absolute)、固定定位(fixed),
relative和absolute在移動端用的最多,fixed在移動端的兼容性有問題,因此不推薦使用,在移動端替代fixed的方案是
absolute+內部滾動。


3、浮動


設置float為left或right,就能使該元素脫離文檔流,向左或向右浮動。一般在做宮格模式布局時會用到,如果子元素全部設置為浮動,則父元素是塌陷的,這時就需要清除浮動,清除浮動的方法也很多,常用的方法是在元素末尾加空元素設置clear:both,
更高級一點的就給父容器設置before/after來模擬一個空元素,還可以直接設置overflow:auto/hidden。除過浮動可以實現宮格模式,行內盒子(inline-block)和table也可以。


4、盒子模型


盒子模型是css最重要的一個概念,也是css布局的基石。
常見的盒子模型有塊級盒子(block)和行內盒子(inline-block),盒子最關鍵的幾個屬性包括margin、border、padding和content,這幾個元素可以設置盒子和盒子之間的關系以及盒子和內容之間的關系。還有一個問題是計算盒子的大小,需要注意的是,box-sizing屬性的設置會影響盒子的width和height。只有普通文檔流中塊框的垂直外邊距才會發生外邊距合並。行內框、浮動框或絕對定位之間的外邊距不會合並。


5、Flex布局


Flex布局的容器是一個伸縮容器,首先容器本身會更具容器中的元素動態設置自身大小;然後當Flex容器被應用一個大小時(width和height),將會自動調整容器中的元素適應新大小。Flex容器也可以設置伸縮比例和固定寬度,還可以設置容器中元素的排列方向(橫向和縱向)和是否支持元素的自動換行。有了這個神器,做頁面布局的可以方便很多了。注意,設為Flex布局以後,子元素的float、clear和vertical-align屬性將失效。


6、transition(過渡)和transform(旋轉)


應用transform可以對元素進行平移(translate)、旋轉(rotate)、放大縮小(scale)、傾斜(skew)等處理,而transition使css屬性值(包括transform)在一段時間內平滑的過渡。使用transition和transform就可以實現頁面的滑動切換效果。


7、動畫Animation


Animation首先需要設置一個動畫函數,然後以這個動畫的方式來改變元素的css屬性之的變化,動畫可以被設置為永久循環演示。
和transition相比,animation設置動畫效果更靈活更豐富,二者還有一個區別是:transition只能通過主動改變元素的css值才能觸發動畫效果,而animation一旦被應用,就開始執行動畫。


8、Sprite圖


對於大型站點,為了減少http請求的次數,一般會將常用的小圖標排到一個大圖中,頁面載入時只需請求一次網路,然後在css中通過設置background-position來控制顯示所需要的小圖標。


9、字體圖標iconfont


所謂字體圖標就是將常用的圖標轉化為字體資源存在文件中,通過在CSS中引用該字體文件,然後可以直接通過控制字體的css屬性來設置圖標的樣式。


三、HTML篇


1、Web語義化和SEO


html
常規標簽有html,head,body,div,span,table,ul,ol,dl,p,b,h1~h6,strong,form,input,img,em,i
等等,另外html5還新增了很多語義化的標簽,比如header,acticle,aside,section,footer,audio,radio
等等。


Web語義化是指使用語義恰當的標簽,使頁面有良好的結構,頁面元素有含義,能夠讓人和搜索引擎都容易理解。


SEO是指在了解搜索引擎自然排名機制的基礎之上,對網站進行內部及外部的調整優化,改進網站在搜索引擎中關鍵詞的自然排名,獲得更多的展現量,吸引更多目標客戶點擊訪問網站,從而達到互聯網營銷及品牌建設的目標。


搜索引擎通過爬蟲技術獲取的頁面就是由一堆html標簽組成的代碼,,人可以通過可視化的方式來判斷頁面上哪些內容是重點,而機器做不到。但搜索引擎會根據標簽的含義來判斷內容的權重,因此,在合適的位置使用恰當的標簽,使整個頁面的語義明確,結構清晰,搜索引擎才能正確識別頁面中的重要內容,並予以較高的權值。比如h1~h6這幾個標簽在SEO中的權值非常高,用它們作頁面的標題就是一個簡單的SEO優化。


2、本地存儲


本地存儲最原始的方式就是cookie,cookie是存放在本地瀏覽器的一段文本,數據以鍵值對的形式保存,可以設置過期時間。但是cookie
不適合大量數據的存儲,因為每次請求一次頁面,cookie都會發送給伺服器,這使得cookie
速度很慢而且效率也不高。因此cookie的大小被限制為4k左右(不同瀏覽器可能不同,分HOST),如下所示:


·Firefox和Safari允許cookie多達4097個位元組,包括名(name)、值(value)和等號。


·Opera允許cookie多達4096個位元組,包括:名(name)、值(value)和等號。


·InternetExplorer允許cookie多達4095個位元組,包括:名(name)、值(value)和等號。


在所有瀏覽器中,任何cookie大小超過限制都被忽略,且永遠不會被設置。


html5提供了兩種在客戶端存儲數據的新方法:localStorage和sessionStorage,它們都是以key/value
的形式來存儲數據,前者是永久存儲,後者的存儲期限僅限於瀏覽器會話(session),即當瀏覽器窗口關閉後,sessionStorage中的數據被清除。


localStorage的存儲空間大約5M左右(不同瀏覽器可能不同,分
HOST),這個相當於一個5M大小的前端頁面的資料庫,相比於cookie可以節約帶寬,但localStorage在瀏覽器隱私模式下是不可讀取的,當存儲數據超過了localStorage的存儲空間後會拋出異常。


此外,H5還提供了逆天的Websql和indexedDB,允許前端以關系型資料庫的方式來存儲本地數據,相對來說,這個功能目前應用的場景比較少,此處不作介紹。


3、瀏覽器緩存機制


瀏覽器緩存機制是指通過HTTP協議頭里的Cache-Control(或Expires)和Last-Modified(或
Etag)等欄位來控制文件緩存的機制。


Cache-Control用於控制文件在本地緩存有效時長。最常見的,比如伺服器回包:Cache-Control:max-age=600
表示文件在本地應該緩存,且有效時長是600秒(從發出請求算起)。在接下來600秒內,如果有請求這個資源,瀏覽器不會發出HTTP
請求,而是直接使用本地緩存的文件。


Last-Modified是標識文件在伺服器上的最新更新時間。下次請求時,如果文件緩存過期,瀏覽器通過If-Modified-Since
欄位帶上這個時間,發送給伺服器,由伺服器比較時間戳來判斷文件是否有修改。如果沒有修改,伺服器返回304告訴瀏覽器繼續使用緩存;如果有修改,則返回200,同時返回最新的文件。


Cache-Control通常與Last-Modified一起使用。一個用於控制緩存有效時間,一個在緩存失效後,向服務查詢是否有更新。


Cache-Control還有一個同功能的欄位:Expires。Expires的值一個絕對的時間點,如:Expires:Thu,10Nov
201508:45:11GMT,表示在這個時間點之前,緩存都是有效的。


Expires是HTTP1.0標准中的欄位,Cache-Control是HTTP1.1
標准中新加的欄位,功能一樣,都是控制緩存的有效時間。當這兩個欄位同時出現時,Cache-Control是高優化級的。


Etag也是和Last-Modified一樣,對文件進行標識的欄位。不同的是,Etag
的取值是一個對文件進行標識的特徵字串。在向伺服器查詢文件是否有更新時,瀏覽器通過If-None-Match
欄位把特徵字串發送給伺服器,由伺服器和文件最新特徵字串進行匹配,來判斷文件是否有更新。沒有更新回包304,有更新回包200。Etag和
Last-Modified可根據需求使用一個或兩個同時使用。兩個同時使用時,只要滿足基中一個條件,就認為文件沒有更新。


另外有兩種特殊的情況:


·
手動刷新頁面(F5),瀏覽器會直接認為緩存已經過期(可能緩存還沒有過期),在請求中加上欄位:Cache-Control:max-age=0,發包向伺服器查詢是否有文件是否有更新。


·
強制刷新頁面(Ctrl+F5),瀏覽器會直接忽略本地的緩存(有緩存也會認為本地沒有緩存),在請求中加上欄位:Cache-Control:no-cache(或
Pragma:no-cache),發包向服務重新拉取文件。


4、HTML5離線緩存


HTML5離線緩存又叫Application
Cache,是從瀏覽器的緩存中分出來的一塊緩存區,如果要在這個緩存中保存數據,可以使用一個描述文件(manifest
file),列出要下載和緩存的資源。


manifest文件是簡單的文本文件,它告知瀏覽器被緩存的內容(以及不緩存的內容)。manifest文件可分為三個部分:


-CACHEMANIFEST-在此標題下列出的文件將在首次下載後進行緩存


-NETWORK-在此標題下列出的文件需要與伺服器的連接,且不會被緩存


-FALLBACK-在此標題下列出的文件規定當頁面無法訪問時的回退頁面(比如404頁面)


離線緩存為應用帶來三個優勢:


·離線瀏覽-用戶可在應用離線時使用它們


·速度-已緩存資源載入得更快


·減少伺服器負載-瀏覽器將只從伺服器下載更新過或更改過的資源。


5、Canvas和SVG


Canvas通過Javascript來繪制2D圖形。Canvas是逐像素進行渲染的。在Canvas
中,一旦圖形被繪制完成,它就不會繼續得到瀏覽器的關注。如果其位置發生變化,那麼整個場景也需要重新繪制,包括任何或許已被圖形覆蓋的對象。


SVG是一種使用XML描述2D圖形的語言。SVG基於XML,這意味著SVGDOM中的每個元素都是可用的。你可以為某個元素附加
JavaScript事件處理器。在SVG中,每個被繪制的圖形均被視為對象。如果SVG對象的屬性發生變化,那麼瀏覽器能夠自動重現圖形。


Canvas和SVG相比,canvas更依賴於解析度,不支持事件處理器,文本渲染能力弱,比較適合密集型游戲,其中的許多對象會被頻繁繪制,而svg則比較適用於類似谷歌地圖帶有大型渲染區域的應用程序。


以上就是小編今天為大家分享的Web前端知識體系簡介的文章,希望本篇文章能夠對正在從事Web工作和學習Web前端知識的小夥伴們有所幫助。想要了解更多Web前端知識記得關注北大青鳥Web培訓官網。最後祝願小夥伴們工作順利!


原文地址:#/onepixel/p/7021506.html