html5的应用

8,902次阅读
没有评论

共计 3642 个字符,预计需要花费 10 分钟才能阅读完成。

1、新增的属性

place holder:

input 标签上,输入框的提示信息

input 的新增 type:

date 可以将输入款变成可选择日期,很少使用,兼容性不好

time 可以填写时辰

week 填写第几年第几个星期

datetime- local 把年月日和时间结合在一起

number 输入只能填 number,兼容性不好

email 输入只能填邮箱格式

color 输入的是颜色,是一个颜色选择器

range 是一个可调节的条,可以设置最小值和最大值

search 输入框,可以提示相关的输入记录

url 填写的是 url

上述基本只支持 chrome

 Calendar,date,time,email,url,search

Content Editable:

默认值是 false,可以使标签的内容变为可编辑,子级可以继承父级的,如果子级填写 false 则取消继承,不要用这样的嵌套方式来修改内容

 Draggable:

可拖拽的,给标签加上 draggable=“true”,只有 chrome 和 Safari 可以正常使用,默认值也是 false,a 标签和 img 标签默认就是 true,拖拽的声明周期,拖拽开始拖拽的过程拖拽结束就是声明周期,拖拽的组成:被拖拽的物体和目标区域,按下物体的瞬间不会触发事件,移动和结束才会,可以在 js 界面使用标签的 ondrag start 和 ondrag,ondragend 事件来监听事件发生过程。

ondragenter,图形进入时,触发事件,要鼠标拖拽物体进入才算

ondragover 在目标区域内移动就会触发

ondragleave 离开目标区域时触发

ondrop 在目标区域放下时触发,在 ondragover 里输入 e.preventDefault();阻止默认事件,即可实现 ondrop 事件,事件是由行为触发的,触发不止一个事件。

 Hidden:

 Context-menu

 Data- Val(自定义属性)

2、新增的标签

语义化标签(一群类似 div 的东西)

header,footer,nav(导航),section(内容区),article(可以被引用),aside(侧边栏)

canvas(画线)

用 js 获得 canvas 的内容区,canvas.getContext(“2d”),moveTo()填写两个值,起点,lineTo()填写两个值,终点,用 stroke 可以显示线条,canvas 的宽高要在标签内部填写,closePath 可以将最后的线条闭合,fill 可以填充黑色,lineWidth 可以调节线条宽度,beginPath 表示从新开始画一条线,如果有多笔,closePath 就失效了,closePath 是针对一笔的。

画矩形:rect()填写四个值,填写起始位置,后面两个值为长宽,strokeRect 如上,fillRect 也是如上,clearRect()清除矩形。

画圆:

圆心(x,y)半径 r,弧度(起始弧度,终止弧度)方向

arc(x,y,r,Math.PI,Math.PI,1/0)顺时针 0,逆时针 1。

圆角矩形:

moveTo(100,110)为了最后闭合时完美闭合

arcTo(100,200,200,200,10)

arcTo(200,200,200,100,10)

arcTo(200,100,100,100,10)

arcTo(100,100,100,200,10)

贝塞尔曲线

先 beginPath 开始一条线;

再 moveTo 开始第一个点坐标

quadraticCurveTo()填两个坐标值,是二次贝塞尔曲线

bezierCurveTo()填写三个坐标值,是三次贝塞尔曲线

旋转:rotate()填写角度,用 Math.PI

图形是根据画板的原点进行旋转的

translate()填写坐标可以改变坐标的原点

缩放:

scale()填写两个值,同样对坐标轴进行伸缩变换

坐标系的平移和旋转是作用于全局的

可以用 save 来存储对坐标系的变换,再用 restore 来恢复状态,缩放平移旋转属性都能保存

fillStyle 可以改变填充的颜色或者图片,图片是根据坐标原点进行填充的,先引入图片,又由于图片加载是异步加载,所以要用 img.onload 函数来填充图片,用 img.createPattern(img,“no-repeat”)来获取图片,再用 fillStyle 来填充

渐变填充:

先创建线性界面,createLinearGradient()输入两个坐标值,再对填充物添加颜色,用 addColorStop()填写位置(0~1)百分比和颜色,线性渐变的起始点是坐标原点

辐射渐变:

createRadialGradient()填写六个值,第一个点的坐标和半径,第二个点的坐标和半径,同样需要 addCorlorStop()

阴影:

shadowColor,shadowBlur(阴影大小),shadowOffsetX 和 shadowOffsetY 可以改变偏移量,阴影原始位置是覆盖在边框上的

渲染文字

strokeText()填写文字的字符串和位置坐标;fillText 同上,不同的是 fillText 可以被 fillStyle 改变,前者叫文字描边,后者叫文字填充,可以用 font 属性改变文字大小和字体,只能改变 strokeText,大小对二者都起作用

线端样式:

lineCap 可以改变线的两端样式可以填写 round,butt,square,lineJoin 可以改变线条相交的部分,可以填写 round(圆滑),bevel(剪短 ),miter(尖锐)

svg:

矢量图,放大不会失真,适合大面积贴图,通常动画较少或者较简单,用标签和 css 画 Canvas 适合小面积绘图,适合动画

画线时要用到 line 标签,在行间样式中填写坐标,再用 css 调用 line 标签,使用 stroke:color;strokeWidth 可以把线条变粗

画矩形:

用 rect 标签,在行间样式直接输入宽高和坐标,所有闭合图形默认用填充,直接画出来,还有 rx 和 ry 属性是改变圆角,一个是 x 方向上,一个是 y 方向上

画圆:

用 circle 标签;

在行间样式填写半径 r 和 cx,cy 坐标

椭圆用 ellipse 标签在行间样式填写 rx 和 ry 横向半径和纵向半径,还有 ex 和 ey 坐标

polyline 标签:

折线:在行间样式中有 points 里面填写点的坐标,xy 之间用空格隔开,坐标间用逗号隔开

可以在 css 填写 fill:transparent;再用 stroke 显示颜色,stroke-width 可以改变线条长度,折线默认填充

polygon 会填充且闭合

text 标签:在行间样式填写坐标位置 x,y

stroke-linecap 可以改变线两端的状态,round 和 square 会在原有的基础上再添加样式 和 stroke-linejoin

stroke-opacity 线条透明度

path 标签:在行间样式中有 d 的属性里面填写 M(moveto)坐标 L(lineto)坐标之间用空格隔开默认带填充,也可以填写 H(横着移动到多少距离)V(垂着移动到多少距离)z 闭合图形,小写的 h 和 v 表示移动多少距离。A(arcto)画椭圆 A 填写 x 半径和 y 半径 还有旋转角度和大弧或小弧,0 为小弧 1 为大弧,还有顺时针或逆时针,最后是另一点的坐标

画界面要定义都写再 defs 标签当中:

   
           
        
            
            
        
    
    
    

高斯模糊:

   
      
    
        
        
    
    
        
    



stdDeviation 是改变他的模糊度

画虚线:

stroke-dasharray:像素;可以填无数个值,按顺序从左到右每一个片段的长度。

stroke-dashoffset 可以将片段整体偏移

view-box:

svg 的行间样式中的属性,相当于比例尺,前两个值是原点坐标,后两个值是宽高会替换原有宽高,类似于地图的比例尺

 Audio(声音播放)

audio 标签,在行间样式中填写 src 和 controls 即可,兼容性不好,基本上要自己去设计一个 audio

Video(视频播放)

video 标签同上,可以用 js 调用 video.pause 来暂停,video.play 表示播放,video.duration 表示总的时间,video.currentTime 表示当前时间,video.playbackRate 表示视频播放倍速,video.volumn 是音量大小,默认是 0 -1

3、API

定位(需要地理位置的功能)

重力感应(陀螺仪)

request- animation- frame(动画优化)

History(控制当前页面的历史记录)

LocalStorage,Session Storage(存储信息,比如:历史最高记录)

Web Socket(在线聊天,聊天室)

FileReader(文件读取,预览)

Web Worker(文件的异步,提升性能,提升交互体验)

Fetch(传说中要替代 Ajax 的东西)

原文地址: html5 的应用

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-07发表,共计3642字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)