HTML5使用总结(一)
自己在“上海某985大学”待了五年,有蛮多的不舍。但是终究还是要离开。下面对这几年HTML5的使用做一个总结。总结是一种技术的沉淀。
HTML5大家现在很火,它的标准已经出来。在标准还没有成型的时候,相信我们都已经开始使用HTML5的图表和研究HTML5的游戏引擎了。HTML5跨平台和轻量级,这是本人最喜欢的一点。
虽然期间也考虑过Mono.
大二(2009年)就开始使用HTML4.0,哪个时候为“页面动画效果、浏览器的兼容性、分辨率的设置”吐了多少血。现在使用HTML5,有一种拨开乌云见明月的赶脚。虽然期间也是用过Silverlight,
但是还是HTML5的表现更加给力。但Webkit浏览器和Mozilla浏览器有些CSS属性还是要单独定义。
H5的API比H4主要有一下一些特性:Canvas、CSS3、SVG、Vidio&Audio、拖放功能、脱机Web应用程序、WebSocket、WebWorkers、本地数据存储、Geolocation。下面我们分别介绍下每个功能的特性。
一、Canvas
顾名思义它是一个面板。面板我们都知道,我们可以在上面画我们想要的任何东西。“任何东西”,则说明它是一个可以编程的容器。我们以前只能使用HTML的各种标签,使用图片,结合JS实现。
现在Canvas可以充当PS图层一样的面板,让我们涂鸦。那个感觉当然爽。
操作Canvas的主要JS方法和属性有:
(1)Context:上下文。Canvas就行绘画的通知,Context就相当于绘画用的画笔。getContext("2d");
(2)设置颜色:fillStyle/fillRect
(3)路径绘制图形:
a、获取Context.b、调用BeginPath、使用moveTo()、lineTo方法指定坐标和绘制直线、closePath()结束路径。不论话什么形状都可以。当然要有耐心。当然一些规则的图形,像圆弧、矩形、
椭圆都是可以直接调用函数进行绘制的。
(4)颜色设置。
strokeStyle:描绘轮廓线、fillStyle:填充轮廓线。
(5)渐变设置。(CSS3也可以设置渐变,原来只能使用图片)
线性渐变:createLinearGradient,圆形渐变:createRadialGradient
(6)图像处理。
Canvas表现的是位图,如果缩放会造成失真。Svg是矢量图。但由于Canvas是位图,所以它可以把图像按像素处理。getImageData()获取Canvas的像素数据,然后加工,putImageData()重新绘制到
Canvas。
(7)绘制图表。
我们使用过大量的图表,像HighCharts、ECharts、FusionChats(记得原来是Flash)。但是这些图表都是用svg来做的,当然Canvas也可以做,但是无有缩放效果。
a、绘制背景。b、绘制X轴和Y轴。c、绘制X轴和Y轴分割线。d、计算数据点的坐标。e、绘制折线和矩形。
(8)旋转和变形。
scale():缩放。translate():移动。rotate():旋转。矩阵变换:setTramsform。
(9)绘制文本。
fillText:描绘文本。strokeText:描绘文件轮廓。
(10)动画效果。
CSS3可以直接定义动画效果。但是Canvas中的动画,必须用JS+Canvas元素来做。
二、CSS3
最新的CSS3的主要特性就是“文本和图像”的特效。比如阴影、半透明、旋转、动画等。
(1)阴影
-webkit-box-shadow和-moz-box-shadow
(2)颜色设置
"#FFFFFF"、rgb()、rgba()、hsl()、hsla()
(3)变形
-webkit-transform、-moz-transtorm
(4)动画
CSS3定义动画和Flash定义动画类似,都是设置关键帧。然后将定义好的关键帧,设置给某些HTML5元素的样式就可以了。
(5)特效
圆角(-webkit-border-radius和)、渐变(gradient)、倒影(-webkit-box-relect)
HTML5使用总结(一)的更多相关文章
- 使用HTML5开发Kinect体感游戏
一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...
- 读书笔记:《HTML5开发手册》--HTML5新的结构元素
读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...
- HTML5 Boilerplate - 让页面有个好的开始
最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下.在各种CSS库.JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽.写篇博客,推荐给大家使用. 一:HTML5 ...
- 戏说HTML5
如果有非技术人员问你,HTML5是什么,你会怎么回答? 新的HTML规范... 给浏览器提供了牛逼能力,干以前不能干的事...(确切地说应该是给浏览器规定了许多新的接口标准,要求浏览器实现牛逼的功能. ...
- nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...
- Web大前端时代之:HTML5+CSS3入门系列
准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...
- 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...
- HTML5 介绍
本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...
- HTML5 语义元素(一)页面结构
本篇主要介绍HTML5增加的语义元素中关于页面结构方面的,包含: <article>.<aside>.<figure>.<figcaption>.< ...
- HTML5 input元素新的特性
在HTML5中,<input>元素增加了许多新的属性.方法及控件.本文章分别对这三方面进行介绍. 目录 1. 属性 2. 方法 3. 新控件 1. 属性 <input>元素在H ...
随机推荐
- HDU King (非连通图的差分约束,经典好题)
King Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- springboot获取项目跟目录
springboot部署之后无法获取项目目录的问题: 之前看到网上有提问在开发一个springboot的项目时,在项目部署的时候遇到一个问题:就是我将项目导出为jar包,然后用java -jar ...
- android studio 3.0.1使用笔记(一)20171231
首先安装JDK1.8.1并设置环境变量JAVA_HOME(C:/JAVA/JDK)及PATH(;%JAVA_HOME%\bin ) 然后安装AS 然后首次AS运行并退出,将GRADLE-4-1.ZIP ...
- 普通方法调用,Invoke,begininvoke三者的区别总结及异步与同步的区别总结
(1)普通方法调用(直接调用)与Invoke()方法调用方法 使用的线程Id是一样的 即属于同步. (2)BeginInvoke(<输入和输出变量>,AsyncCallback callb ...
- s 销售视图数据
INSERT,需将公司ID匹对到以下EXCEL表 INSERT,需将公司ID匹对到以下EXCEL表 [Public] ConnectString=host="siebel://10.10.0 ...
- 创建Kafka0.8.2生产者与消费者
一.下载安装Kafka0.8.2 二.vi config/server.properties 三.修改为advertised.host.name=192.168.1.76 四.rm -rf /tmp ...
- js获得URL中的参数
js获得URL中的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + &quo ...
- python之字符编码的重要思想
#.保证不乱码的核心法则就是,字符按照什么标准而编码的,就要按照什么标准解码,此处的标准指的就是字符编码 #.在内存中写的所有字符,一视同仁,都是unicode编码,比如我们打开编辑器,输入一个“你” ...
- PHPStorm 忽略 node_modules 目录
如果项目中包含 node_modules 目录,会使 PHPStorm 卡得很慢, 原因:PHPStorm 在进行大量的扫描工作. 解决:忽略它 原文地址:https://segmentfault.c ...
- Spring JMX之二:远程访问MBean
虽然最初的JMX规范提及了通过MBean进行应用的远程管理,但是它并没有定义实际的远程 访问协议或API.因此,会由JMX供应商定义自己的JMX远程访问解决方案,但这通常又是专 有的. 为了满足以标准 ...