?
?
一般會想到 canvas 和 svg ;
?
svg更適合畫圖, 但由于cavans在移動端的良好兼容性, 使用的更廣;
?
什么是svg, scalable vector graphics ?全稱 可縮放矢量圖形, 是一種來描述二維矢量圖形的xml語言
canvas 能做的 svg基本都可以做, ?字體圖標, icon, logo 也能作
在ie上也是從ie9開始兼容svg的. 舊瀏覽器 vml技術, vml類似svg, ? react 15對svg支持比較完善
?
svg canvas
echarts選擇的是canvas, highcharts選擇的是svg, ?由于svg的矢量特性, 繪制圖形 svg更合理 而且有優勢
canvas 支持的庫 react-canvas, ?這個庫主要來生成各類功能的自定義canvas標簽
講到svg, 因為他的表現方式更貼近react使用原生和自定義標簽構建組件化的思路, svg嵌套和自定義屬性來得到想要的圖形
?
雖然svg性能不太好, 但為什么要選擇
我們常見的image sprite 有高清屏幕的兼容問題, 需要做幾套圖片來兼容, 而svg不存在這個問題
當圖標小于16px, 或者圖標比較復雜時, 往往會出現圖片無法顯示清晰的問題,
雖然iconfont能夠自動適應個屏幕的分辨率, 但不能解決上面的清晰問題
?