国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

前端 - 有了css3之后,我們還需要canvas還有svg嗎?

瀏覽:86日期:2023-08-07 15:44:45

問題描述

產(chǎn)生這個(gè)問題前,我先查詢的是svg和canvas的區(qū)別,有一個(gè)根本的卻別是:

svg可以當(dāng)作xml,可以放大縮小,像html一樣操作 而canvas則是一個(gè)實(shí)實(shí)在在畫布,像swf那樣,編輯起來(lái)不是很方便,但是效率高

從這里可以看出兩者各有優(yōu)劣,再后來(lái)我又看了CSS3,我發(fā)現(xiàn)CSS3結(jié)合了兩者的長(zhǎng)處:

可以結(jié)合DOM,和svg一樣容易操作渲染效率高,可以像canvas在dom上畫出任意形狀

那么我有這么幾個(gè)問題:

有了css3之后,我們還需要svg還有canvas嗎?他們各自的有缺點(diǎn)是什么什么場(chǎng)合適合用CSS3,什么場(chǎng)合適合用svg,什么場(chǎng)合適合canvas目前這三者有什么知名的框架來(lái)便于操作、使用嗎?他們?nèi)吣壳盀g覽器兼容情況如何,希望能提供參考頁(yè)面或者圖表說(shuō)明

問題解答

回答1:CSS3在DOM節(jié)點(diǎn)多的情況下效率嚴(yán)重下降。CSS3的旋轉(zhuǎn)比canvas(2d)要好。CSS3的文字渲染比canvas好。canvas可以在更底層操作。canvas支持webgl,可秒殺一切。canvas(2d)兼容性還不錯(cuò)。webgl兼容性坑爹,移動(dòng)平臺(tái)支持不好。

網(wǎng)頁(yè)效果請(qǐng)用CSS3;應(yīng)用、游戲、圖表用canvas;如果你覺得展示數(shù)據(jù)的時(shí)候css3不夠自由,canvas太麻煩可以用svg。

css3

不是很熟悉animate.csslesscss還有一些用來(lái)制作css3動(dòng)畫的工具,不過沒見到讓人滿意的……

canvas

cocos2d-html5canvasenginethree.jsfabricjs

svg

用的很少,這個(gè)勉強(qiáng)算一個(gè)?d3js

回答2:

我首先想到的是svg的兼容性比css3好,svg支持IE8+,css3和html5的部分屬性在ie8下不支持

其次,說(shuō)css3像svg一樣可以結(jié)合dom,這有點(diǎn)抬舉它了,svg基于xml,它的結(jié)構(gòu)很好,很適合修改和擴(kuò)展,而如果用css3重寫就是html,語(yǔ)義上不對(duì)不說(shuō),結(jié)構(gòu)也得靠工程師自己來(lái)設(shè)計(jì)和優(yōu)化,擴(kuò)展性和修改能力上遠(yuǎn)不如svg。所以,復(fù)雜圖形上面,svg的優(yōu)勢(shì)很明顯,而簡(jiǎn)單的圖形,可以說(shuō)css3跟svg差不多。

canvas的話,因?yàn)楦鷍s結(jié)合更緊密,所以一些邏輯操作要比css3方便太多,比如用canvas逐幀寫動(dòng)畫和游戲,css3實(shí)現(xiàn)的話會(huì)更加吃力一些。

其實(shí)css3我認(rèn)為依然是對(duì)css的擴(kuò)展,更多是從擴(kuò)展樣式表現(xiàn)方面的考慮,從程序邏輯上來(lái)說(shuō),只能依靠模擬來(lái)實(shí)現(xiàn),在這方面依附于js的canvas還是有比較大的優(yōu)勢(shì)。

回答3:

canvas的操作更底層(使用WebGL的情況下) 效率更高 以后可能成為新的游戲平臺(tái)

回答4:

三者的應(yīng)用場(chǎng)景不一樣.

css3除去文本效果,邊框,圓角,多背景,多列等等,應(yīng)該說(shuō)主要意義在動(dòng)畫,過渡等效果上相比于以往css2.1做了較大的創(chuàng)新,這里我稍微對(duì)animation,transition,transform做了對(duì)比.

我這里寫了一篇有關(guān)svg對(duì)比canvas的文章,或許你可以借鑒借鑒.canvas作為一項(xiàng)H5的新技術(shù),憑借高效且相比于SVG更簡(jiǎn)單的特點(diǎn),對(duì)于大部分的前端同學(xué)來(lái)說(shuō)更熟悉.Canvas更是借著數(shù)據(jù)可視化迎來(lái)了很多人的喜愛.但是拋去瀏覽器,svg在許多其他場(chǎng)景干翻Canvas,因?yàn)橘Y格老,而且Canvas推出的初衷只考慮在瀏覽器當(dāng)中.不過瀏覽器當(dāng)中,svg還是有一席之地的,比如我推薦一個(gè)svg icon庫(kù)Icomoon,自定義添加svg文件,然后只需添加相應(yīng)class即可輕松創(chuàng)建新icon.避開svg的dom短板,可以說(shuō)這樣的icon質(zhì)量很高,可伸縮,對(duì)屏幕大小不感冒,可以說(shuō)屏幕越大優(yōu)勢(shì)越明顯.

綜合比較看來(lái),css3的圖形部分主要意義在于'動(dòng)畫2D3D過渡效果',為什么打引號(hào),是因?yàn)檎嬲?D大頭其實(shí)在于難啃的WebGL.隨著H5的興起,瀏覽器的2D大頭在于Canvas.css3,svg,canvas暫時(shí)誰(shuí)也不能淘汰誰(shuí),除非css3自己可以畫出更好的圖形,而不僅僅是帶來(lái)更好的動(dòng)畫過渡效果;而svg(后臺(tái)是adobe和ms),canvas相比于css3(后兩者后臺(tái)應(yīng)該算webkit系列)更偏重于靜態(tài),矢量圖形,但是因?yàn)楸举|(zhì)完全不一樣,各有各的優(yōu)點(diǎn),也是一樣的都無(wú)法被替代.

如果將來(lái)瀏覽器圖形這方面的標(biāo)準(zhǔn)能夠做得更統(tǒng)一,或許會(huì)有數(shù)量更少,優(yōu)點(diǎn)更多的技術(shù);但是目前無(wú)法做到.

回答5:

我 確實(shí)不知道怎么回答好 只是來(lái)逛逛 ,你們加油

標(biāo)簽: CSS
主站蜘蛛池模板: 欧美一级毛片片aa视频 | 日本b站一卡二卡乱码入口 日本s色大片在线观看 | 日本视频在线免费播放 | 国产精品九九九久久九九 | 国产亚洲精品影达达兔 | 国产粉嫩高中生无套第一次 | 亚洲成成品网站有线 | 午夜爽爽爽男女免费观看hd | 精品国产免费人成在线观看 | 成人人免费夜夜视频观看 | 欧美牛逼aa| 韩国19禁主播裸免费福利 | 极品丝袜高跟91白沙发在线 | 拍拍拍又黄又爽无挡视频免费 | 手机免费在线看毛片 | 国产区网址 | 久久成年片色大黄全免费网站 | 国产午夜亚洲精品 | 另类自拍 | 国产精品一区在线免费观看 | 成人网18免费网 | 国产精品成人久久久久 | 美女被免费网站在线视频软件 | 国产成人精品视频午夜 | 香蕉97碰碰视频免费 | 一本色道久久综合亚洲精品 | 久久综合狠狠综合久久综合88 | 亚洲伊人色综合网站小说 | 国产精品久久久久久久久久一区 | 亚洲加勒比久久88色综合一区 | 国产日韩一区二区三区在线播放 | 国产伦精品一区二区三区四区 | 亚洲美女高清aⅴ视频免费 亚洲美女黄色片 | 国产片18在线观看 | 性盈盈影院影院67194 | 91视频欧美 | 亚洲国产高清一区二区三区 | 亚洲二区在线播放 | 国产欧美一区二区三区在线 | 91精品国产欧美一区二区 | 精品国产不卡一区二区三区 |