HTML5新特性总结
更新:HHH   时间:2023-1-7


HTML5属于上一代HTML的新迭代语言,设计HTML5最主要的目的是为了在移动设备上支持多媒体!!!

例如: video 标签和 audio 及 canvas 标记
新特性:
 1. 取消了过时的显示效果标记  <font></font> 和 <center></center>等...
 2. 新语义标签的引入  
 3. 新表单元素引入
 4. canvas标签(图形设计)
 5. 本地数据库(本地存储)
 6. 一些API
好处:跨平台
  • 例如:比如你开发了一款HTML5的游戏,你可以很轻易地移植到UC的开放平台、Opera的游戏中心、Facebook应用平台,甚至可以通过封装的技术发放到App Store或Google Play上,所以它的跨平台性非常强大,这也是大多数人对HTML5有兴趣的主要原因。
缺点:
  • pc端浏览器支持不是特别友好,造成用户体验不佳(随着移动端的发展不断扩大和win10(ie10)的大量推广,这一缺点将被无限缩小)

    • HTML5新语义标签

    • HTML5新标签的数量在25个左右具体也没有找到详细的资料来查看(每个网站显示的数量都不一样)

    • 虽然新增的标签很多但是实际上用到的应该只有十个左右MDN上有一句话“HTML 使用“标记”来注明文本、图片和其他内容,以便于在 Web 浏览器中显示。HTML 标记包含一些特殊“元素”如 <head>,<title>,<body>,<header>,<footer>,<article>,<section>,<p>,<div>,<span>,<img> 等等。” 这其中大部分有HTML5以前的标签也有HTML5的而这些刚好就是我们常用的标签,不常用的也许不必太过了解布局DIV也可以不是么?
  • 另外推荐大家在使用新语义标签的时候尽量每个独立的页面只使用一个标签作为包裹,语义化的作用就是seo(具体可百度),就是让搜索引擎知道网上到底有些什么,如header 、main、footer标签等等,当然你也可以写100个!

  • 以下总结出HTML5常用的标签:

    • “header” “nav” “main”“article” “address”“section”“aside” “footer”
    • 如果忘记了这些标签的意思可以访问 MDN、W3C、或者CSND,当然博客园上搜搜可能会更快
    • 以下为菜鸟教程对html5新标签的注解 http://www.runoob.com/html/html5-new-element.html

    • HTML5的重点标签之video和audio
      <video></video> 视频
      属性:controls 显示控制栏
      属性:autoplay 自动播放
      属性:loop 设置循环播放
      <audio></audio> 音频
      属性:controls 显示控制栏
      属性:autoplay 自动播放
      属性:loop 设置循环播放
      video标签支持的格式 http://www.w3school.com.cn/html5/html_5_video.asp
      • 多媒体标签在网页中的兼容效果方式(每个浏览器支持的情况不同所以需要做兼容性处理)(以下source属性只会生效一个 即 if = true 之后 就不执行了)
        <video>
        <source src="code/多媒体标签/trailer.mp4">
        <source src="trailer.ogg">
        <source src="trailer.WebM">
        </video>
      • HTML5中的智能表单控件
        <input type="email">
        type值 ={
        email: 输入合法的邮箱地址
        url: 输入合法的网址
        number: 只能输入数字
        range: 滑块
        color: 拾色器
        date: 显示日期
        month: 显示月份
        week : 显示第几周
        time: 显示时间
        }
        (智能表单,会自动对输入的内容做基本校验,内容不符合基本校验则拒绝提交请求
        表单属性

    ◆form属性:
    autocomplete=on | off 自动完成
    novalidate=true | false 是否关闭校验
    ◆ input属性:
    autofocus : 自动获取焦点

    <input type="text" list="abc"/>
        <datalist id="abc">
        <option value="123">12312</option>
        <option value="123">12312</option>
        <option value="123">12312</option>
        <option value="123">12312</option>
    </datalist>
    
    multiple: 实现多选效果
    placeholder : 占位符  (提示信息)
    required:必填项    
    • HTML5中新的一些API

    以前获取节点通过
    document.getElementById("ID名称")这些还有className,name,tagname等等方式获取返回当前节点
    H5新增的节点获取方法只有两个
    document.querySelector("选择器"); 返回节点
    document.querySelectorAll("选择器"); 返回数组
    可以完美的代替以前或者节点的方式,如果无需兼容ie10以下的话
    H5中对class的操作
    classList.add("类名")
    添加class类名 不返回任何值 如果你把它赋值给一个变量 得到结果是undefined
    classList.remove("类名"); 删除
    classList.contains("类名");
    检查has className 是否存在返回布尔值 即true and false
    classList.toggle("active");
    查询active 是否存在,存在就删除,不存在就添加 ,省去了if判断!返回布尔值如果执行多条 即 true false true false.
    自定义属性 (小案例分析体验自定义属性) data-自定义属性名

    1. 获取自定义属性 Dom.dataset 返回的是一个对象
      Dom.dataset.属性名 或者 Dom.dataset[属性名]
      注:属性名无需加data如自定义属性名 = data-canvas 那么获取的时候 直接dataset.canvas即可 设置同理
    2. 设置自定义属性
      Dom.dataset.自定义属性名=值 或者 Dom.dataset[自定义属性名]=值;
      文件读取 FileReader
      FileReader 接口有3个用来读取文件方法返回结果在result中
      readAsBinaryString ---将文件读取为二进制编码
      readAsText ---将文件读取为文本
      readAsDataURL ---将文件读取为DataURL
      FileReader 提供的事件模型
      onabort 中断时触发
      onerror 出错时触发
      onload 文件读取成功完成时触发
      onloadend 读取完成触发,无论成功或失败
      onloadstart 读取开始时触发
      onprogress 读取中
      获取当前网络状态
      window.navigator.onLine 返回一个布尔值 网没问题返回true否则返回false
      网络状态事件 (大部分为不支持和废弃状态也许移动端用的比较多)
    3. window.ononline
    4. window.onoffline
      获取地理定位
      获取一次当前位置
      window.navigator.geolocation.getCurrentPosition(success,error);
      success成功之后获取位置信息 否则抛出错误,比如获取位置信息被拒绝
    5. coords.latitude 维度
    6. coords.longitude 经度
      实时获取当前位置
      window.navigator.geolocation.watchPosition(success,error);
      本地存储 随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,传统方式我们以document.cookie来进行存储的,但是由于其存储大小只有4k左右,并且解析也相当的复杂,给开发带来诸多不便,HTML5规范则提出解决方案,使用sessionStorage和localStorage存储数据。
      localStorage:
    7. 永久生效
    8. 多窗口共享
    9. 容量大约为20M
      ◆window.localStorage.setItem(key,value) 设置存储内容
      ◆window.localStorage.getItem(key) 获取内容
      ◆window.localStorage.removeItem(key) 删除内容
      ◆window.localStorage.clear() 清空内容
      sessionStorage:
    10. 生命周期为关闭当前浏览器窗口
    11. 可以在同一个窗口下访问
    12. 数据大小为5M左右
      ◆window.sessionStorage.setItem(key,value)
      ◆window.sessionStorage.getItem(key)
      ◆window.sessionStorage.removeItem(key)
      ◆window.sessionStorage.clear()
      required如何修改默认提示选项
      需要两个几个参数
      placeholder = 默认提示用户输入
      oninvalid事件 = 当用户输入不符合规则的时候提示的内容随意改setCustomValidity 就是用来修改 requered值的函数
      oninput事件 = 约等于chuange事件 立即执行
    console.log('Hello World')
返回web开发教程...