码迷,mamicode.com
首页 > Web开发 > 详细

HTML5、canvas、SVG

时间:2018-01-02 11:27:59      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:中文   随机   controls   不能   超过   clear   控制   stroke   oca   

##总结

- 从这两天的课程里,我学到html简单的一个编年史,以及标签语义化最最有益是便于SEO及对盲人设备友好。也知道的风靡一时的flash为什么会被html5打败。

- HTML5新增了很多功能和标签,尤为突出的就是canvas和SVG,video的功能也很亮眼。说实在的能按着方法写出东西,但是觉得还是很生疏,计算坐标之类的不能很快反应出来。
- 不过这两天,学到很多实现需求的思维和技巧,每晚完成作业之后也会自己写写,琢磨琢磨。

- 比如创建一个文件夹把可能经常复用的函数放在里面
- 灵活的分析不同需求使用结合的方式来实现效果(泡泡用对象,对SVG验证码的字符串拼接等等)
- 需要养成习惯性举一反三的思维,分析本质更好总结出解决的方法(比如经过分析常用的产生随机数的方法,来总结出一个公式,便可以封装一个随机数函数任意使用)
- 如果以上技巧使用得当,可大大提升代码效率
***

##html编年史

- HTML4 (最早)
- XML (规范严格)
- XHTML 1.0 (沿用XML的规范)1.1(降低规范,过渡版本)
- HTML5
- WHATWG (组织,制定HTML5,最后转回W3C)


##标签

- 语义化
    - 利于SEO
    - 对盲人设备友好

## flash(Adobe)
- 被html5打败 (乔布斯)


##新增

- video
    - controls 特殊属性,显示控制按钮
- redio

## canvas

- 画布 canvas标签
- 画笔:pen=getContext(“2d”)

- 示例
    
    - 矩形
        - pen.fillstyle=“red”;
        - pen.fillRext()// x,y,高,宽

        - pen.strokeStyle="blue"
        - pen.strokeRect()//

        - arc(50,110,50,0,2* Math.PI)

    - 方法

        - .fill 填充
        - stroke 路径
        - beginPath 重新开始路径
        - colsePath
    - 绘图
    `   let img=new Image();
        img.src="image/1.jpg";
        let cs=document.getbyid("cs")
        let ctx=cs.getContext("2d");
        img.onload=function(){
        ctx.rotate(Math.PI/180 * 10); 旋转10度
        ctx.drawImage(img,0,0,200,200);
        }`
        - 默认情况下,旋转是围绕左上角00点旋转的
        - 注意,图片加载是异步,或其他on

        - ctx. translate(100,100) 改变画布的原点 (自转)
        - 还原方法 (不影响后面的元素)
            - ctx.save(); 保存当前状态
            - resotore();回到原来的状态
            - scle
            - 擦除拖影
                - clearRect(0,0,800,600); 后面参数整个画布 (矩形)

***
#SVG
##图片分类
- 矢量图:通过算法计算,矢量图方法缩小不会失真,无法做到非常逼真的色彩。 应用场景:设计,建筑图。

- 位图:颜色丰富逼真,但是会失真。应用场景:游戏、其他...

##拖拽
    拖拽
over里用e.preventDefalut(); 阻止默认行为

ondrop才能出现

***

##本地存储
- cookie HTML5 以前 翻译/点心
    - 保存服务器发给浏览器的信息
    - 精准推送
    - 问题
        - 大小有限制,不能超过过4KB 4000英文,2000中文
        - 安全问题
- localStorage 永久
- sessionStorage 一次会话 (打开一个浏览器,关闭)

    - 访问方法一样,本地存储服务器,区别在于存储时间
    - 存进去的数据会被转成字符串
    - 注意:存之前转成字符串
        - 方法:JSON.stringify([11,23,47,20])//数组转JSON
        - 方法:JSON.parse();  //JSON转数组

HTML5、canvas、SVG

标签:中文   随机   controls   不能   超过   clear   控制   stroke   oca   

原文地址:https://www.cnblogs.com/opacity-m/p/8169606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!