首页 前端知识 html5的应用

html5的应用

2024-09-28 23:09:29 前端知识 前端哥 991 397 我要收藏

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标签当中:

<svgwidth="500px"height="300px"style="border:1px solid">    
    <defs>       
        <linearGradientid="bg1"x1="0"y1="0"x2="0"y2="100%">
            <stopoffset="0%"style="stop-color: rgb(255,255,0)"></stop>
            <stopoffset="100%"style="stop-color: rgb(255,0,0);"></stop>
        </linearGradient>
    </defs>
    <rectx="100"y="100"height="100"width="200"style="fill:url(#bg1)"></rect>
    </svg>

高斯模糊:

<svgwidth="500px"height="300px"style="border:1px solid">    
<defs>       
    <linearGradientid="bg1"x1="0"y1="0"x2="0"y2="100%">
        <stopoffset="0%"style="stop-color: rgb(255,255,0)"></stop>
        <stopoffset="100%"style="stop-color: rgb(255,0,0);"></stop>
    </linearGradient>
    <filterid="gaussian">
        <feGaussianBlurin="SourceGraphic"stdDeviation="20"></feGaussianBlur>
    </filter>
</defs>
<rectx="100"y="100"height="100"width="200"style="fill:url(#bg1); filter: url(#gaussian)"></rect>
</svg>
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的东西)

转载请注明出处或者链接地址:https://www.qianduange.cn//article/18663.html
标签
评论
发布的文章

安装Nodejs后,npm无法使用

2024-11-30 11:11:38

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!