扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Path是基于canvas 的绘图并不是直接在 canvas 标签所创建的绘图画面上进行各种绘图操作,而是依赖画面所提供的渲染上下文(Rendering Context),所有的绘图命令和属性都定义在渲染上下文当中。
创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站建设、网站设计质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式营销型网站需求,让再小的成都品牌网站建设也能产生价值!
通过canvas id获取相应的DOM对象 获取渲染上下文对象getContext()
渲染上下文与 canvas 一一对应,无论对同一 canvas 对象调用几次 getContext() 方法,都将返回同一个上下文对象。所有支持 canvas 标签的浏览器都支持 2D 渲染上下文。
var ctx=document.getElementById(“canvas”).getContext(“2d”);
获取了上下文对象,就可以开始绘制路径了。我从视频学来的,有个系列叫 《Buid New World》,里面的第四集
不管是HTML还是HTML5都是有2种路径写法:相对路径和绝对路径:
HTML相对路径(Relative Path)
用途:指定由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系
如果源文件和引用文件在同一个目录里,直接写引用文件名即可,这时引用文件的方式就是使用相对路径。
下面建立两个HTML文档info.html和index.html,用作示例,要求都是在info.html加入index.html超链接。
eg1:相对路径的简单应用
假设:info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
index.html路径是:c:/Inetpub/wwwroot/sites/blabla/index.html
写法:a href = "index.html"这是超连接/a
eg2:如何表示上级目录
../表示源文件所在目录的上一级目录,表示源文件所在目录的上上级目录,以此类推。
假设:info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
index.html路径是:c:/Inetpub/wwwroot/sites/index.html
写法:a href = "../index.html"这是超连接/a
eg3:如何表示上上级目录
假设:info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
index.html路径是:c:/Inetpub/wwwroot/sites/wowstory/index.html
写法:a href = "../wowstory/index.html"index.html/a
eg3:如何表示下级目录
引用下级目录的文件,直接写下级目录文件的路径即可。
假设:info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
index.html路径是:c:/Inetpub/wwwroot/sites/blabla/html/index.html
写法:a href = "html/index.html"这是超连接/a
2.HTML绝对路径(Absolute Path)
大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径。
例如只要看到这个路径:c:/website /img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。
类似于这样完整的描述文件位置的路径就是绝对路径。我们不需要知道其他任何信息就可以根据绝对路径判断出文件的位置。
HTML绝对路径(absolute path)在网页制作中指带域名的文件的完整路径。
html通过file获取文件路径方法:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“/”
File f = new File(this.getClass().getResource("").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
获取当前类的绝对路径;
html5
html5是指万维网的核心语言、 标准通用标记语言下的一个应用 超文本标记语言( HTML)的第五次重大修改(这是一项推荐标准、外语原文: W3C Recommendation、见本处 参考资料原文内容: )2014年10月29日, 万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成。
HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括新的解析规则增强了灵活性、新属性、淘汰过时的或冗余的属性等。
标准通用标记语言下的一个应用 HTML标准自1999年12月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组 - WHATWG) 的组织。WHATWG 致力于 Web 表单和应用程序,而 W3C(World Wide Web Consortium, 万维网联盟) 专注于 XHTML2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。
HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML 工作团队。
HTML5新增验证属性:
placeholder 提供一种提示(hint),输入域为空时显示,获得焦点输入内容后消失
required 规定输入域不能为空
pattern 规定验证input域的模式(正则表达式)
validity属性:
环境变量设置参数如下:
变量名: JAVA_HOME
变量值: C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据自己的实际路径配置
变量名: CLASSPATH
变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."
变量名: Path
变量值: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
一、 HTML5新增的标签
(1)header nav main footer section article hgroup figure figcaption aside
video audio canvas
(2)如何让新标签兼容低版本浏览器: html5shiv.js
二、 HTML5新增的表单控件
一、表单控件的新属性
input type="text" placeholder="" required autofocus pattern="abc"
二、新增的表单控件
(1)input type="email"
(2)input type="url"
(3)数字控件: type="number"
(4) 滑动组件: type="range"
(5) 拾色器: type="color"
(6) 日期控件: type="date"
三、本地存储
1、 三种本地存储 : cookie webStorage(localStorage sessionStorage)
2、localStorage的API
(1)写入: localStorage.setItem(键,值); //值只能是字符串
localStorage.user = "123" localStorage["user"] = "123"
(2)读取 var user = localStorage.getItem("user")
var user = localStorage.user;
(3)删除: localStorage.removeItem("user") localStorage.clear()
(4)修改: localStorage.setItem("user","890")
3、sessionStorage的API
sessionStorage.setItem(键,值);
sessionStorage.getItem(键);
sessionStorage.removeItem(键);
sessionStorage.clear();
**********重点**********
4、cookie webStorage(localStorage sessionStorage)三者的区别
四、离线存储
(1) *.manifest (*.appcache)
index.html html manifest="*.manifest"
(2) 理解离线存储的更新方式
五、移动端的布局思路:
1、设备像素比(倍率) 逻辑像素尺寸 (360px 320px 375px 414px)
window.devicePixelRatio
2、 meta name="viewport" content="width=device-width,maximum-
scale=1.0,minimum-scale=1.0,initial-scale=1.0,user-scalable=no""
3、使用rem单位
六、地理定位
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(success,error,{
timeout: 5000
});
function success(pos){
纬度: pos.coords.latitute
经度: pos.coords.longtitude
}
}
navigator.geolocation.watchPosition(success);
七、地理定位和百度地图API的结合
八、视频,音频 video autoplay="autoplay" controls="controls" loop="loop" poster=""
preload="preload" audio
九、移动端事件:
(1) ontouchstart ontouchmove ontouchend
(2) 如何判断是否为移动端: if ("ontouchstart" in document){}
(3) 移动端事件的事件对象及常用属性
e.touches[0].clientX e.touches[0].clientY e.touches[0].target
(4) 移动端常见问题及解决方案:
a、 click事件 300ms的延迟: 1zepto的tap事件 (2) fastclick.js
b、 zepto的tap事件有点透问题 : (1) fastclick.js
(5) zepto的touch模块: tap singleTap doubleTap longTap
swipeLeft swipeRight swipeUp swipeDown
十、swiper.js的使用 (参考官网)
十一、 canvas
(1) canvas width="600" id="can"/canvas 300*150
(2) var can = document.getElementById("can");
var cxt = can.getContext("2d");
cxt.beginPath();
cxt.moveTo(100,200);
cxt.lineTo(200,400);
cxt.strokeStyle = '#f00';
cxt.stroke();
cxt.clearRect(0,0,200,300);
context.globalCompositeOperation="destination-out"; (了解)
1. 新的Doctype
尽管使用!DOCTYPE html,即使浏览器不懂这句话也会按照标准模式去渲染
2. Figure元素
用figure和figcaption来语义化地表示带标题的图片
figure
img src=”path/to/image” alt=”About image” /
figcaption
pThis is an image of something interesting. /p
/figcaption
/figure
3. 重新定义的small
small已经被重新定义了,现在被用来表示小的排版,如网站底部的版权声明
4. 去掉link和script标签里面的type属性
5. 加/不加 括号
HTML5没有严格的要求属性必须加引号,闭合不闭合,但是建议加上引号和闭合标签
6. 让你的内容可编辑,只需要加一个contenteditable属性
7. Email Inputs
如果我们给Input的type设置为email,浏览器就会验证这个输入是否是email类型,当然不能只依赖前端的校验,后端也得有相应的校验
8. Placeholders
这个input属性的意义就是不必通过javascript来做placeholder的效果了
9. Local Storage
使用Local Storage可以永久存储大的数据片段在客户端(除非主动删除),目前大部分浏览器已经支持,在使用之前可以检测一下window.localStorage是否存在
10. 语义化的header和footer
11. 更多的HTML5表单特性
12. IE和HTML5
默认的,HTML5新元素被以inline的方式渲染,不过可以通过下面这种方式让
其以block方式渲染
header, footer, article, section, nav, menu, hgroup {
display: block;
}
不幸的是IE会忽略这些样式,可以像下面这样fix:
document.createElement(”article”);
document.createElement(”footer”);
document.createElement(”header”);
document.createElement(”hgroup”);
document.createElement(”nav”);
document.createElement(”menu”);
13. hgroup
一般在header里面用来将一组标题组合在一起,如
header
hgroup
h1 Recall Fan Page /h1
h2 Only for people who want the memory of a lifetime. /h2
/hgroup
/header
14. Required属性
required属性定义了一个input是否是必须的,你可以像下面这样声明
input type=”text” name=”someInput” required
或者
input type=”text” name=”someInput” required=”required”
15. Autofocus属性
正如它的词义,就是聚焦到输入框里面
input type=”text” name=”someInput” placeholder=”Douglas Quaid” required autofocus
16. Audio支持
HTML5提供了audio标签,你不需要再按照第三方插件来渲染音频,大多数现代浏览器提供了对于HTML5 Audio的支持,不过目前仍旧需要提供一些兼容处理,如
audio autoplay=”autoplay” controls=”controls”
source src=”file.ogg” /!–FF–
source src=”file.mp3″ /!–Webkit–
a href=”file.mp3″Download this file./a
/audio
17. Video支持
和Audio很像,video标签提供了对于video的支持,由于HTML5文档并没有给video指定一个特定的编码,所以浏 览器去决定要支持哪些编码,导致了很多不一致。Safari和IE支持H.264编码的格式,Firefox和Opera支持Theora和Vorbis 编码的格式,当使用HTML5 video的时候,你必须都提供:
video controls preload
source src=”cohagenPhoneCall.ogv” type=”video/ogg; codecs=’vorbis, theora’” /
source src=”cohagenPhoneCall.mp4″ type=”video/mp4; ’codecs=’avc1.42E01E, mp4a.40.2′” /
p Your browser is old. a href=”cohagenPhoneCall.mp4″Download this video instead./a /p
/video
18. 预加载视频
preload属性就像它的字面意思那么简单,你需要决定是否需要在页面加载的时候去预加载视频
video preload
19. 显示视频控制
video preload controls
20. 正则表达式
由于pattern属性,我们可以在你的markup里面直接使用正则表达式了
form action=”" method=”post”
label for=”username”Create a Username: /label
input type=”text” name=”username” id=”username” placeholder=”4 10″ pattern=”[A-Za-z]{4,10}” autofocus required
button type=”submit”Go /button
/form
21. 检测属性支持
除了Modernizr之外我们还可以通过javascript简单地检测一些属性是否支持,如:
script
if (!’pattern’ in document.createElement(’input’) ) {
// do client/server side validation
}
/script
22. Mark元素
把mark元素看做是高亮的作用,当我选择一段文字的时候,javascript对于HTML的markup效果应该是这样的:
h3 Search Results /h3
p They were interrupted, just after Quato said, mark”Open your Mind”/mark. /p
23. 什么时候用div
HTML5已经引入了这么多元素,那么div我们还要用吗?div你可以在没有更好的元素的时候去用。
24. 想立即使用HTML5?
不要等2022了,现在就可以使用了,just do it.
25. 哪些不是HTML5
1)SVG
2)CSS3
3)Geolocation
4)Client Storage
5)Web Sockets
26. Data属性
div id=”myDiv” data-custom-attr=”My Value” Bla Bla /div
CSS中使用:
style
h1:hover:after {
content: attr(data-hover-response);
color: black;
position: absolute;
left: 0;
}
/style
h1 data-hover-response=”I Said Don’t Touch Me!” Don’t Touch Me /h1
27. Output元素
output元素用来显示计算结果,也有一个和label一样的for属性
28. 用Range Input来创建滑块
HTML5引用的range类型可以创建滑块,它接受min, max, step和value属性
可以使用css的:before和:after来显示min和max的值
input type=”range” name=”range” min=”0″ max=”10″ step=”1″ value=”"
input[type=range]:before { content: attr(min); padding-right: 5px;
}
input[type=range]:after { content: attr(max); padding-left: 5px;}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流