HTML5特性

news/2025/2/13 6:37:13/

HTML5新增了很多新的元素及功能:图形绘制,多媒体,页面结构标签,拖放,定位,缓存,history,网络通讯等

  1. 语义化标签:
标签描述
<hader></header>文档的头部区域
<footer></footer>文档的尾部区域
<nav></nav>文档的导航
<section></section> 文档中的节
<article></article> 页面独立的内容区域
<aside></aside>页面的侧边栏内容
<detailes></detailes> 文档或文档某个部分的细节
<summary></summary> 标签包含 details 元素的标题
<dialog></dialog> 对话框,比如提示框
  1. 增强型表单
    HTML5提供了input输入类型,更好的输入控制和验证
类型描述
color用于选取颜色
date日期选择器
datetime-local类型允许你选择一个日期和时间 (无时区).
email类型用于应该包含 e-mail 地址的输入域
month选择月份
number搭配max, min ,maxlength使用 校验数值的输入域
rangemax, min, value指定范围的滑动条
time类型允许你选择一个时间。
urlURL 地址的输入域
  1. 新增的表单属性
类型描述
autocomplete自动填充
autofocus页面加载自动聚焦
form规定输入域所属的一个或多个表单
form action描述表单提交的URL地址
formenctype描述了表单提交到服务器的数据编码 (只针对method为post的表单)
formmethod定义了表单提交的方式
formnovalidate表单提交时无需被验证
formtarget
height 与 width规定用于 image 类型的 标签的图像高度和宽度
listlist 属性规定输入域的 datalist
min 与 max数字或日期的 input 类型规定限定
multipleemail 和 file 类型元素中可选择多个值
pattern (regexp)正则表达式用于验证
placeholder输入提示
required必填校验
step数值增减幅度
  1. 视频和音频
<video width="320" height="240" controls><source src="movie.mp4" type="video/mp4"><source src="movie.ogg" type="video/ogg">
您的浏览器不支持Video标签(浏览器不支持时显示文本)
</video>

control 属性供添加播放、暂停和音量控件
也可以通过video DOM对象的 pause play 控制播放和暂停

<audio controls><source src="horse.ogg" type="audio/ogg"><source src="horse.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>
  1. 图形标签 canvas
    canvas是一个图形容器
    指定一个id属性 (用于脚本中引用)
    width 和 height 属性定义的画布的大小
    通过 JavaScript 来绘制 2D 图形
// 1. 首先,找到 <canvas> 元素:var c=document.getElementById("myCanvas"); 
// 2. 创建 context 对象var ctx=c.getContext("2d");// 3. fillStyle属性可以是CSS颜色,渐变,或图案ctx.fillStyle="#FF0000";// 4. fillRect(x,y,width,height) 方法定义了矩形当前的填充方式ctx.fillRect(0,0,150,75);// 5. 绘制路径
ctx.moveTo(0,0); // 开始坐标
ctx.lineTo(200,100); // 结束坐标
ctx.stroke(); // 绘制// 6. arc(x,y,r,start,stop) 绘制圆形
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke(); // 绘制边
ctx.stroke(); // 填充颜色
// 7. 文本定义
ctx.font="30px Arial"; // 定义文本字体
ctx.fillText("Hello World",10,50); // 定义文本内容
ctx.strokeText("Hello World",10,50); // 内容描边// 8.创建渐变
// createLinearGradient(x,y,x1,y1) - 创建线条渐变
// createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");// 绘制容器, 填充为渐变对象
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);// 9. drawImage(image,x,y) 绘制图片
var img = new Image(); //创建图片对象
img.src = 'img/timg.jpg';
img.onload = function() {ctx.drawImage(this,20,80);
}

常用属性方法:https://www.runoob.com/tags/ref-canvas.html

  1. SVG 定义可缩放矢量图形,使用 XML 描述 2D 图形的语言

  2. 拖放API
    draggable: ture, 可拖动属性
    ondragstart: 拖动对象绑定拖动事件,ev.dataTransfer.setData(“Text”,ev.target.id) 方法设置被拖数据的数据类型和值
    ondragover: 事件规定在何处放置被拖动的数据,这要通过调用 ondragover 事件的 event.preventDefault() 方法
    ondrop: 放置事件,ev.dataTransfer.getData(“Text”) 方法获得被拖的数据, ev.target.appendChild(document.getElementById(data))

  3. Geolocation(地理定位)

function getLocation()
{if (navigator.geolocation){// 返回用户位置的经度和纬度navigator.geolocation.getCurrentPosition(showPosition, showError);// 第一个参数showPosition中规定的函数返回一个包含经纬度的对象// 第二个参数用于处理错误}else{x.innerHTML="该浏览器不支持获取地理位置。";}
}function showPosition(position)
{x.innerHTML="纬度: " + position.coords.latitude + "<br>经度: " + position.coords.longitude;    
}
function showError(error)
{switch(error.code) {case error.PERMISSION_DENIED:x.innerHTML="用户拒绝对获取地理位置的请求。"break;case error.POSITION_UNAVAILABLE:x.innerHTML="位置信息是不可用的。"break;case error.TIMEOUT:x.innerHTML="请求用户地理位置超时。"break;case error.UNKNOWN_ERROR:x.innerHTML="未知错误。"break;}
}
  1. Web 存储localStorage(长久保存) 和 sessionStorage (临时保存)
    可以存储大量的数据,而不影响网站的性能,可使用的API都相同,常用的有如下几个
    保存数据:localStorage.setItem(key,value);
    读取数据:localStorage.getItem(key);
    删除单个数据:localStorage.removeItem(key);
    删除所有数据:localStorage.clear();
    得到某个索引的key:localStorage.key(index);

  2. 网络通讯:
    持久连接:websoket,
    向服务器推送事件: server sent events
    即时通讯: webRTC,
    异步请求;XMLHTTPRequest

  3. Web Workers是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能
    检测浏览器是否支持 Web Worker: if(typeof(Worker)!=="undefined")
    创建web worker 对象:w=new Worker("demo_workers.js");, 脚本存储于 “demo_workers.js” 文件中
    终止: w.terminate();
    回收对象: w = undefined;
    由于 web worker 位于外部文件中,它们无法访问下列 JavaScript 对象:
    . window 对象
    . document 对象
    . parent 对象


http://www.ppmy.cn/news/547437.html

相关文章

HTML5的新特性

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、语义化标签二、新增Input表单的类型、和属性 1.类型2.属性三、audio、video音频和视频四、Canvas绘图五、SVG绘图六、地理定位七、拖拽API八、WebStorage九…

C++ 并行编程(thread)---多线程

C 并行编程---多线程 1. 进程和线程1.1 常规解释1.2 总结1.3 具体理解1.4 为什么使用多线程1.5 进程和线程的区别 2. 并发与并行2.1 多进程并发2.2 多线程并发 3. C中的多线程4. 时间管理4.1 C语言&#xff1a;time.h4.2 C11时间标准库&#xff1a;std::chrono4.2.1 获取时间段…

MATLAB车牌识别技术实现

目 录 一. 课程设计任务11 二. 课程设计原理及设计方案22 1.系统简述22 2.图像预处理33 2.1灰度变换33 2.2边缘提取44 3.车牌定位55 4.字符分割55 5.字符识别66 三. 课程设计的步骤和结果88 四. 设计总结2222 五. 设计体会2323 六. 参考文献2424 课程设计任务在交通管理过程中&…

html的简略笔记

HTML超文本标记语言&#xff0c;描述网页的一种语言 结构 <html> <head></head> <body></body> </html> 头部 - <head>&#xff1a;关于网页的信息 主体 - <body>&#xff1a;网页的具体内容HTML元素 HTML文档是由HTML元素定…

基于Matlab的车牌识别系统完整版课论文分享 快看

基于Matlab的车牌识别系统 一、设计原理 车辆车牌识别系统的基本工作原理为&#xff1a;将摄像头拍摄到的包含车辆车牌的图像通过视频卡输入到计算机中进行预处理&#xff0c;再由检索模块对车牌进行搜索、检测、定位&#xff0c;并分割出包含车牌字符的矩形区域&#xff0c;然…

Html5新方法

html5 的新特性 canvas绘图 1.添加canvas标签,创建画布&#xff0c;一个画布在网页中是一个矩形框&#xff0c;通过 元素来绘制。默认情况下 元素没有边框和内容。 <canvas idmyCanvas width200px height100px styleborder: 1px solid #ccc></canvas>获得canavs…

Java全栈技术体系汇总----主目录----持续更新

文章目录 一、Java基础1. Java容器2. IO/BIO/NIO3. 多线程与高并发4. JVM5. 设计模式6. 数据结构与算法7. JDK冷门好用的特性8. Web9. 第三方jar工具10. XML 二、前端必会1. Css2. 语法基础3. 移动端开发4. webpack5. VUE6. 必会算法 三、Java框架1. Spring框架2. Spring MVC框…

微服务项目实战技术点汇总:“尚硅谷的谷粒在线教育”五、阿里云视频点播,完善课程管理模块,(集成富文本插件,大纲管理,信息确认回显,发布完成),手写sql

文章目录 一、课程发布完善1、&#xff08;前端&#xff09;集成富文本插件1、下载依赖2、配置环境3、测试4、添加插件 2、&#xff08;后端&#xff09;课程大纲列表(多级联动和课程分类相同&#xff0c;有章节和小节)1、创建两个实体类分别表示章节和小节&#xff0c;每个章节…