HTML5 建立的一些规则:

  • 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
  • 减少对外部插件的需求(比如 Flash)
  • 更优秀的错误处理
  • 更多取代脚本的标记
  • HTML5 应该独立于设备
  • 开发进程应对公众透明

HTML5 中的一些有趣的新特性:

  • 用于绘画的 canvas 元素
  • 用于媒介回放的 video 和 audio 元素
  • 对本地离线存储的更好的支持
  • 新的特殊内容元素,比如 article、footer、header、nav、section
  • 新的表单控件,比如 calendar、date、time、email、url、search

如需在 HTML5 中显示视频,您所有需要的是:

<!DOCTYPE HTML>
<html>
<body> <video src="/i/movie.ogg" width="320" height="240" controls="controls">
Your browser does not support the video tag.
</video> </body>
</html>

如需在 HTML5 中播放音频,您所有需要的是:

<!DOCTYPE HTML>
<html>
<body> <audio src="/i/song.ogg" controls="controls">
Your browser does not support the audio element.
</audio> </body>
</html>

HTML5 支持内联 SVG。

什么是SVG?

  • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)

  • SVG 用于定义用于网络的基于矢量的图形
  • SVG 使用 XML 格式定义图形
  • SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失
  • SVG 是万维网联盟的标准

SVG 的优势

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:

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

  • SVG 图像可被搜索、索引、脚本化或压缩
  • SVG 是可伸缩的
  • SVG 图像可在任何的分辨率下被高质量地打印
  • SVG 可在图像质量不下降的情况下被放大

SVG

SVG 是一种使用 XML 描述 2D 图形的语言。

SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas

Canvas 通过 JavaScript 来绘制 2D 图形。

Canvas 是逐像素进行渲染的。

在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

Canvas 与 SVG 的比较

下表列出了 canvas 与 SVG 之间的一些不同之处。

Canvas
  • 依赖分辨率

  • 不支持事件处理器
  • 弱的文本渲染能力
  • 能够以 .png 或 .jpg 格式保存结果图像
  • 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
  • 不依赖分辨率

  • 支持事件处理器
  • 最适合带有大型渲染区域的应用程序(比如谷歌地图)
  • 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
  • 不适合游戏应用

最新文章

  1. HTML 事件(三) 事件流与事件委托
  2. discuz X3.1 源代码阅读,记录代码片段
  3. 当利用pip安装模块出现错误时咋办
  4. OAuth2.0授权
  5. Android开发环境搭建及常见问题解决方法
  6. BZOJ-1003 物流运输trans SPFA+DP
  7. SVN标准命令
  8. 夺命雷公狗---node.js---14之DNS
  9. 如何使用工具进行线上 PHP 性能追踪及分析?
  10. 【Fiddler】手机抓包
  11. NVIDIA 显卡温度提示过高,显卡温度高99度怎么办?
  12. Hello Word!
  13. SQL Server 自学笔记
  14. 老李分享:DBA
  15. JS代码检查工具ESLint
  16. 装饰者模式 Decorator
  17. 解决Matlab画图直接保存.eps格式而导致图不全的问题
  18. HTTP网页过程
  19. 数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下
  20. bzoj千题计划195:bzoj2844: albus就是要第一个出场

热门文章

  1. Inside dependency property
  2. kafka 集群部署 多机多broker模式
  3. (简单) POJ 2492 A Bug&#39;s Life,二分染色。
  4. MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法
  5. 【亲测】Python:解决方案:Python Version 2.7 required, which was not found in the registry
  6. 3、手把手教你Extjs5(三)MVVM特性的简单说明
  7. UISegmentedControl——分段控件
  8. 算法系列001---dfs|多叉|解空间树理解
  9. Spark Standalone Mode
  10. HTML5离线应用与客户端存储