HTML5 SVG、MathML、拖放

  • HTML5 :

HTML5 元素是 SVG 图形的容器SVG 指可伸缩矢量图形 (Scalable Vector Graphics),用于定义网络的基本矢量的图形。SVG使用XML格式定义图形。SVG图像在放大或者改变尺寸的情况下其图形质量不会有损失。与其他图像格式(JPEG、GIF)相比,SVG的优势在于:

 SVG 图像可通过文本编辑器来创建和修改;

 SVG 图像可被搜索、索引、脚本化或压缩

 SVG 是可伸缩的

 SVG 图像可在任何的分辨率下被高质量地打印

 SVG 可在图像质量不下降的情况下被放大

SVG与Canvas的区别:SVG 是一种使用 XML 描述 2D 图形的语言Canvas 通过 JavaScript 来绘制 2D 图形SVG 基于 XML,SVG DOM 中的每个元素都是可用的可以为某个元素附加 JavaScript 事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

Canvas

SVG

 依赖分辨率

 不支持事件处理器

 弱的文本渲染能力

 能够以 .png 或 .jpg 格式保存结果图像

最适合图像密集型的游戏,

其中的许多对象会被频繁重绘

不依赖分辨率

支持事件处理器

最适合带有大型渲染区域的应用程序

(比如谷歌地图)

复杂度高会减慢渲染速度

(任何过度使用 DOM 的应用都不快)

不适合游戏应用

  • HTML5 MathML:

HTML5可以在文档中使用MathML元素,对应的标签是。MathML是数学标记语言,是一种基于XML(标准通用标记语言的子集)的标准,用来在互联网上数学数学符号和公式的置标语言。简单的MathML实例如下:



   
      
      </span></span><span style="background-color:#ffffff;"><span style="color:#333333;">www.example</span></span><span style="background-color:#ffffff;"><span style="color:#333333;">.com)
    
          
      
               
         
            a2
            +                               
            b2
            =                               
            c2
                                
                     
   

  • HTML5拖放:

拖放(drag和drop)是HTML5标准的组成部分,拖放是一种常见的特性,即抓取对象以后拖到另一个位置。任何元素都能够拖放。为了使元素可拖动,首先把 draggable 属性设置为 true ,然后规定当元素被拖动时,会发生什么:drag(event),然后放到何处-ondragover(规定在何处放置被拖动的数据),最后,进行放置-ondrop。拖动实例:

<script>

function allowDrop(ev){ ev.preventDefault(); }

function drag(ev)

{

ev.dataTransfer.setData("Text",ev.target.id);

 }

function drop(ev)

{

ev.preventDefault();

 var data=ev.dataTransfer.getData("Text");

ev.target.appendChild(document.getElementById(data));

 }


你可能感兴趣的:(HTML,html5,前端,html)