html5 笔记01

news2024/11/19 16:22:20
01 表单类型和属性

        input的type属性

                单行文本框: type=text

                电子邮箱 : type=email

                地址路径 : type= url  

                定义用于输入数字的字段: type=number

                手机号码: type=tel

                搜索框 : type=search

                定义颜色选择器 : type=color

                滑块控件 : type=range

                定义日期 :type=date

               定义输入时间的控件(无时区): type=time

                日期时间:type=datetime-local

                 定义月份和年份:type=month

                定义周和年控件:type=week

        表单的新增属性

                placeholder  占位符

                autofocus 自动获取焦点

                required 在提交表单之前必须填写输入字段

                autocomplete  自动完成 默认值为on 开启 off 关闭提示功能

                multiple  文件多选

02  音频标签(audio)

        h5之前的网页没有办法显示音视频  用插件 flash

        video audio 用法和img一样

        video和audio的属性:

                controls  规定应显示音频控件

                autoplay 自动播放

                loop 循环播放

        兼容写法:

               

03 视频标签 (video)

        poster 视频封面图

        perload 预加载

        autoplay 自动播放

        muted 静音播放

        兼容写法:

        

04 进度条标签

        <progress> 标签表示任务的完成进度

        属性:

                max 规定任务所需的总工作量。默认值为1

                value:规定任务已完成的部分。

05 canvas绘图

       1. canvas 特点:

                有自己默认高度: 300*150

                不建议通过css设置宽高 使用行内属性设置宽高

                canvas 不独占一行 属于行内块元素

                canvas 一般建议兼容写法: 标签内部定义文字

       2. canvas的使用步骤

                定义canvas标签

                        <canvas style="border: 1px solid #000;" width="400" height="400">

                                您的浏览器版本不支持canvas绘图技术

                        </canvas>

                js获取canvas对象

                         var mycanvas=document.getElementsByTagName('canvas')[0]

                通过canvas对象获取画笔对象

                        var ctx=mycanvas.getContext('2d');

        3.canvas绘制线的使用

                .moveTo(x,y)  定点方法(当前画笔从哪里开始绘制)

                .lineTo(x,y)  从当前定点位置开始 绘制到x,y点结束

                .stroke() 描边

                        描边才能看见线  如果想要画多条线 要都画完再去描边 减少和浏览器的交互次数

                .fill()  填充(把图形跳虫成实心的) 未闭合的图形会自动闭合

                .closePath() 自动闭合图形

                .lineWidth=数值 设置线的宽度

                .strokeStyle='颜色'  设置描边的颜色(只针对描边图形生效)

                .fillStyle='颜色'  设置填充的颜色(默认黑色)

                 .beginPath() 开辟新路径

                        

                        上面的代码最终结果是两条线长一样

                        原因是 我们虽然描边了两次 但是canvas源码内部处于性能优化方面考虑

                        多次描边 只会按照最后一次的样式 一次性描边上去 节省性能

        4.画笔的一些功能

                ctx.lineCap 线两端的样式:

                       butt 默认值 没有样式

                       round 两端圆形

                       square 两端方块

                交叉点:

                        上一条线的结束点 为第二条线的起点  这样才被识别为 交叉点  

                        才可以设置交叉点样式

                        ctx.lineJoin="" 交叉点的样式

                                miter(默认值 不转换) 一个尖尖的 尖儿

                                round(交点呈现圆角)

                                bevel(平角样式,不呈现尖角)

                        不设置交叉点样式时  可以设置

                                ctx.miterLimit属性   0~5都是平角  6~9都是尖角

        5.绘制矩形

               .rect(x,y,width,height)  绘制一个矩形

                        可以通过fill画实心,也可以通过stroke画空心

                .strokeRect(x,y,width,height) 直接绘制一个空心矩形

                        不用再次调用stroke方法  快速描边一个矩形

                .fillRect(x,y,width,height) 直接绘制一个填充矩形

                        不用再次调用fill方法    快速填充一个矩形

        6.绘制弧形

                

                弧的绘制:

                        ctx.arc(圆心x,圆心y,半径r,开始弧,结束弧,布尔值(方向:顺/逆) 可选)

                                布尔值默认是false(顺时针)    开始的位置默认在右侧

                        例:

                                设置负值  然后结束的是45度 表示把剩余的都画了

                                ctx.arc(200,200,100,0,-Math.PI/180*45)

        7.清除绘制内容

                 清除绘制内容(橡皮擦)

                        ctx.clearRect(x,y,width,height); 

        8.绘制文本

                ctx.strokeText(str,x,y)   绘制空心字体

                ctx.fillText(str,x,y)  绘制实心字体  默认比上面黑一些 

                ctx.font=“20px 宋体” 字体大小(必须写family)

                        ps:只有字体变大才能看出stroke的效果

                ctx.font=“bold 50px 宋体” 可以有加粗效果

                ctx.textBaseLine="";  文本基线问题:

                        alphabetic 默认值  按照默认的字母基线对齐

                        top 顶部为基线

                        bottom 文本底部为基线

                        haning 如果有中文 那么比较top来说 更往下一点

                        ideographic 比bottom还往上一点

                        middle 文字中部对齐

                 ctx.textAligin=""   文本横向对齐方式

                        start/left  end/right  center

        9.渐变的使用

                先创建渐变对象 然后使用strokeStyle/fillStyle 引入渐变对象

                

                

        10.阴影的绘制

                Ctx.shadowColor=“颜色” 阴影颜色

                Ctx.shadowBlur=number   阴影模糊度

                Ctx.shadow.OffsetX =number  模糊X轴

                Ctx.shadow.OffsetY=number  模糊Y轴

                Tips:filleRect和filleText都有阴影效果哟

        11.canvas画图

                绘制图片的方法

                        1.Ctx.drawImage(image,x,y)

                                参数1: 图片对象  参数23  图片绘制位置

                                按照原图片大小绘制

                        2. Ctx.drawImage(image,x,y,width,height)

                                width和height可以改变图片大小

                        3.Ctx.drawImage(image,x,y,width,height,dtx,dty,dtwidth,dtheight)

                                图片对象 从哪一个点开始截取 截取的宽高  在哪一个点开始画 画的宽

                                能够从图片中截取一部分 画到canvas指定位置 并且 定义画的宽高

        12.canvas转换的使用

                Canvas中的转换只有旋转,位移,缩放

                        ctx.translate(x,y) 将canvas的0,0点平移到x,y位置

                        画布整体被往下平移以后 后面画的元素都会按照新的点去画

                        Ctx.scale(x,y) 缩放

                        会把内部的内容全部按比例缩放

                        Ctx.rotate(Math.PI/180*30) 参数是角度弧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1683352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么我用save保存更新,数据库不更新,反而新增一条

今天发现一个奇怪的问题&#xff1a; 为什么我用save保存更新的数据后&#xff0c;数据库不更新&#xff0c;但是增加了一条空数据&#xff0c;我的前台也把数据用json传上去了&#xff0c;也成功了&#xff0c;但是数据库没有更新相应行的数据&#xff0c;而是新增了一条数据&…

FPGA学习笔记之Nios II(一)简单介绍及新建工程及下载

系列文章目录 文章目录 系列文章目录前言QsysNios IIhello world 实例Platform DesignNios II程序设计 前言 利用Quartus中的Qsys工具&#xff0c;可以实现在FPGA里面跑嵌入式的功能 Qsys Altera 公司将主控制器、数字信号处理模块、存储器及其控制模块、各种接口协议等模块&…

机器学习圣经PRML作者Bishop推出重磅教材

图1 书籍《Pattern Recognition and Machine Learning》 只要学人工智能的人&#xff0c;必然学机器学习。 只要学机器学习的人&#xff0c;必然看PRML。 PRML为何物&#xff1f; PRML全名《Pattern Recognition and Machine Learning》&#xff0c;一部机器学习领域的内功…

【vue-3】动态属性绑定v-bind

1、文本动态绑定&#xff1a; <input type"text" v-bind:value"web.url"> 简写&#xff1a; <input type"text" :value"web.url"> 2、文字样式动态绑定 <b :class"{textColor:web.fontStatus}">vue学…

linuk shell脚本

1,创建变 只需要变量名变量 值 如果有空格则要用引号 等号两边不能有空格 变量名不能以数字开头 2.输出变量 echo $变量名 3&#xff0c;重复定义变量叠加 前两行没加$导致错误 4&#xff0c;变量的删除 unset 变量名 5&#xff0c;read 变量名 有-p 就会打印引号地内容…

微软文字转语音小工具(Text to speech)网页版

在线文字转语音工具&#xff1a;在线文本转语音 (text-to-speech.cn) 随着科技的迅猛发展&#xff0c;人工智能技术日益成熟&#xff0c;AI配音作为其中的一项重要应用&#xff0c;正在以惊人的速度改变着我们的生活。所谓AI配音&#xff0c;指的是利用人工智能技术模拟人类声音…

使用决策树对金融贷款数据进行分析

使用决策树对金融贷款数据进行分析 在本篇博客中&#xff0c;我们将通过使用 Python、Pandas 和多种机器学习技术&#xff0c;对一组贷款数据进行全面分析。通过详细的步骤展示&#xff0c;你将学会如何进行数据预处理、可视化分析以及构建预测模型。 第一步&#xff1a;导入…

2024-5-23 石群电路-14

2024-5-23&#xff0c;星期四&#xff0c;22:20&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天没有什么重要的事情发生&#xff0c;心情一如既往的平静&#xff0c;距离返校假期还有两天~~~。 今天观看了石群老师电路基础课程的第23/24个视频&#xff0…

蓝牙Classic加密算法设计和实现,SAFER+,E0,E1,E2,E3(python)

概述 之前用python给大家实现了所有LE相关加密工具算法。bobwenstudy/BluetoothCryptographicToolbox: LE SMP加密算法设计和实现(python) (github.com)&#xff0c;最近重温了下Classic加密&#xff0c;顺便将Classic所有加密算法给实现了一遍。 在蓝牙Classic Spec中&#…

IS-IS基本配置 IS-IS邻接关系

一.IS-IS基本配置 原理概述 和 OSPF 路由协议一样&#xff0c; IS-IS 也是一个应用非常广泛的 IGP 路由协议&#xff0c;很多 ISP 网络、特别是大型的ISP网络都部署了IS-IS网络协议。 RIP 、 OSPF 等许多 IGP 都是针对 IP ( Internet Protocol &#xff09;这个网络层协议而开…

深度学习之基于YoloV5人体姿态摔倒识别分析报警系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着人口老龄化的加剧和人们对健康安全的日益关注&#xff0c;摔倒事件在老年人、幼儿、体育运…

PMP项目管理资料

需要原件的私我&#xff01;&#xff01;&#xff01; 各种编程相关资料学习

Stable Diffusion【写实模型】:逼真,逼真,超级逼真的国产超写实摄影大模型万享XL

今天和大家分享的是一个国产万享系列中使用量最高的大模型:万享XL_超写实摄影&#xff0c;顾名思义&#xff0c;该大模型主要是面向写实摄影&#xff0c;一方面生成的图片人物皮肤纹理细节超级逼真&#xff0c;另一方面对于光影效果的处理也非常到位。对于万享XL超写实摄影大模…

Linux多线程系列2: 模拟封装简易语言级线程库,线程互斥和锁,线程同步和条件变量,线程其他知识点

Linux多线程系列2: 模拟封装简易语言级线程库,线程互斥和互斥锁,线程同步和条件变量,线程其他知识点 1.前言 一.模拟C11线程库自己封装简易语言级线程库1.实现框架2.迅速把构造等等函数写完3.start和work1.尝试一2.尝试二3.最终版本4.给出代码 二.模拟实现多线程(为编写线程池做…

互联网医院开发:引领智慧医疗新时代

随着科技的迅猛发展和互联网的普及&#xff0c;传统医疗模式正在迎来一场深刻的变革。互联网医院的崛起&#xff0c;打破了时间和空间的限制&#xff0c;为患者和医疗机构带来了更加便捷、高效、安全的医疗服务体验。本文将从技术角度深入探讨互联网医院的开发&#xff0c;包括…

Hotcoin Research | 市场洞察:2024年5月13日-5月19日

加密货币市场表现 目前&#xff0c;加密货币总市值为1.32万亿&#xff0c;BTC占比54.41%。 本周行情呈现震荡上行的态势&#xff0c;BTC在5月15日-16日&#xff0c;有一波大的拉升&#xff0c;周末为震荡行情。BTC现价为67125美元。 上涨的主要原因&#xff1a;美国4月CPI为3…

安防监控视频平台EasyNVR级联视频上云系统EasyNVS出现“Login error”报错的原因排查

EasyNVR安防视频云平台是旭帆科技TSINGSEE青犀旗下支持RTSP/Onvif协议接入的安防监控流媒体视频云平台。平台具备视频实时监控直播、云端录像、云存储、录像检索与回看、告警等视频能力&#xff0c;能对接入的视频流进行处理与多端分发&#xff0c;包括RTSP、RTMP、HTTP-FLV、W…

RNN-循环神经网络

目录 词嵌入层 RNN网络层 RNN 网络原理 这一节我们学习循环神经网络&#xff0c;RNN~~ 自然语言处理&#xff08;Nature language Processing, NLP&#xff09;研究的主要是通过计算机算法来理解自然语言。对于自然语言来说&#xff0c;处理的数据主要就是人类的语言&#…

安卓绕过限制直接使用Android/data无需授权,支持安卓14(部分)

大家都知道&#xff0c;安卓每次更新都会给权限划分的更细、收的更紧。   早在安卓11的时候还可以直接通过授权Android/data来实现操作其他软件的目录&#xff0c;没有之前安卓11授权的图了&#xff0c;反正都长一个样&#xff0c;就直接贴新图了。   后面到了安卓12~13的…

基于语音识别的智能电子病历(三)之 M*Modal

讨论“基于语音识别的智能电子病历”&#xff0c;就绕不开 Nuance 和 M*Modal。这2个公司长时间的占据第一和第二的位置。下面介绍一下M*Modal。 这是2019年的一个新闻“专业医疗软件提供商3M公司为自己购买了一份圣诞礼物&#xff0c;即M*Modal IP LLC的医疗技术业务&#xf…