canvas可以替代html與css了嗎?
網(wǎng)友解答: 首先Canvas是比html和css晚出現(xiàn)的,它的出現(xiàn)是為了彌補(bǔ)瀏覽器沒(méi)有較為底層的繪圖API的缺點(diǎn)?;趫D形,圖像的應(yīng)用(例如游戲)以往只能借助于Flash(Flex)這樣
首先Canvas是比html和css晚出現(xiàn)的,它的出現(xiàn)是為了彌補(bǔ)瀏覽器沒(méi)有較為底層的繪圖API的缺點(diǎn)?;趫D形,圖像的應(yīng)用(例如游戲)以往只能借助于Flash(Flex)這樣的插件來(lái)實(shí)現(xiàn)。具體再細(xì)分無(wú)外乎2D和3D,這就是目前Canvas的定位。
因此Canvas的作用傾向于處理圖形圖像的。主要用來(lái)制作游戲、圖表、模擬器等。
很多基于Canvas的應(yīng)用,還是有渲染DOM的需求的,比如表格繪制,頁(yè)面局部截圖,演示軟件或者電子白板類似的應(yīng)用動(dòng)態(tài)的拖拽某些內(nèi)容,組件進(jìn)來(lái)渲染。我們?cè)陂_(kāi)發(fā)基于Canvas的應(yīng)用的時(shí)候,是希望所有元素都能直接繪制到畫布上的,因?yàn)槠渌鸋TML元素只能通過(guò)translate類似的方式和畫布繪制的元素的元素進(jìn)行配合,這里事件處理需要單獨(dú)控制。
如果是用Canvas來(lái)實(shí)現(xiàn)一個(gè)前端頁(yè)面,從性能和效率來(lái)說(shuō)是非常低的。從開(kāi)發(fā)效率來(lái)說(shuō)的話,也是加大工作量的,很多原本很簡(jiǎn)單的小功能估計(jì)都要寫一大堆函數(shù)吧。所以Canvas有他自己該干的是,很多東西不是可以就行,而是要講究適合。
至于替代,談不上。不是所有應(yīng)用都要用Canvas的,但是所有應(yīng)用都要用DOM。很多東西,一句聲明性的 html就搞定了,而不是幾百行的命令式的Canvas繪圖API的調(diào)用。
找最適合自己的解決方案最重要!最重要!最重要!
網(wǎng)友解答:canvas不是為了替代html,css而出現(xiàn)的,也替代不了。
像今日酷米首頁(yè)這樣的頁(yè)面肯定是沒(méi)人傻到去用canvas去渲染的。
canvas是來(lái)錦上添花的