1.语义化标签兼容问题(语义化标签只支持ie8以上,不包括ie8)
  解决方法一:该标签的css中加上display:block;
  通过DOM的方式创建这个标签 document.createElement("header");
  解决方法二:引入外部的htmlshiv.js文件(插件)<script src="html5shiv.js"></script>
  注意:在谷歌中支持语义化标签,不需要请求该文件//cc:ie8 tab键即可
  <!--如果浏览器是小于ie8就执行里面的代码,改命令只针对IE浏览器有效-->
  <!--[if lte IE 8]>
  <script src="html5shiv.js"></script>
  <![endif]-->

2.多媒体

1)音频播放
  <!--controls可以在页面中显示该音频控件-->
  <!--autoplay自动播放,但是谷歌不会自动播放,加入muted谷歌可以自动播放视频-->
  <!--loop循环播放-->
  <audio src="xxx.mps" controls autoplay loop muted></audio>
2)视频播放
  <!--controls可以在页面中显示该视频控件-->
  <!--autoplay自动播放,但是谷歌不会自动播放,加入muted谷歌可以自动播放视频但是会是静音状态-->
  <video src="xxx.mp4" controls autoplay loop muted></video>
  <!--注意:格式兼容-->
  <!--如果A浏览器支持第一个,那就直接播放第一个,
  如果B浏览器支持第二个,遇到第一个标签的时候不会执行,遇到第二个人可以支持的才会播放-->
  例:<video autoplay controls loop>
      <source src="xxx.mp4">
      <source src="xxx.ogg">
      对不起,您的浏览器不支持,请升级!
    </video>

3.智能表单元素的相关属性:

1)autocomplete:关闭智能提示
2)novalidate:关闭验证功能
  例:<form action='' method='get' autocomplete='off' novalidate>
      邮箱:<input type="email" name="em" /><br/>
      <input type="submit" value="提交" id="sm" />
    </form>
3)autofocus:自动获取焦点
  placeholder:可以设置文本框提示信息
  required:该属性出现,当前表单的元素必须验证
  form:有一个表单元素的标签,不在form中,但是要提交,则在表单标签中加上form属性,值设置为form标签中的id值,该标签就能提交了
  datalist:数据列表,该标签需要有自己的id的值,再配合list属性来使用,才可以有数据列表的效果
  例:<form action="" method="get" id="fm">
      <input type="text" value="" name="txt" autofocus placeholder="请输入名字" required/>
      <input type="submit" value="提交" id="sm" />
    </form>
    <input type="text" value="" name="name" form="fm" />

    <input type="text" value="" name="txtList" list="url_list"/>
    <datalist id="url_list">
      <option value="https://www.baidu.com">百度</option>
      <option value="https://www.googler.com">谷歌</option>
      <option value="https://www.baidu.com">百度</option>
      <option value="https://www.baidu.com">百度</option>
    </datalist>
4.获取元素的不同方式(h5中的一些api的使用)
  例1:
    <div>
      <p>这是div中的一个p</p>
      <ul>
        <li><p>这是li中的p</p></li>
        <li>这是li</li>
      </ul>
    </div>
    <script>
      //选择器:css中选择器怎么用这里就怎么用
      //document.querySelector("选择器")

      //1)获取p,只能获取一个(默认第一个)
      document.querySelector("div p").style.backgroundColor="yellow";
      //2)获取所有p标签,document.querySelectorAll("选择器");
      var pObjs = document.querySelectorAll("div p");
      for(var i=0;i<pObjs.length;i++) {
        pObjs[i].style.backgroundColor="green";
      }
    </script>
  例2:
    <style>
      .test{
        width: 300px;
        height: 200px;
        backgroundColor: red;
      }
    </style>
    <div>
      <input type="button" value="添加类样式" id="btn1" />
      <input type="button" value="移除类样式" id="btn1" />
      <input type="button" value="切换类样式" id="btn1" />
      <input type="button" value="是否包含类样式" id="btn1" />
      <div id="dv" class="test"></div>
    </div>
    <script>
      my$ = function(str){
        return document.querySelector(str);
      }
      my$("#btn1").onclick = function () {
        //添加类样式方法
        my$("#dv").classList.add("test");
      }
      my$("#btn2").onclick = function () {
        //移除类样式方法
        my$("#dv").classList.remove("test");
      }
      my$("#btn3").onclick = function () {
        //切换类样式方法
        my$("#dv").classList.toggle("test");
      }
      my$("#btn4").onclick = function () {
        //判断方法
        //返回的是:是否应用了这个类样式
        var result = my$("#dv").classList.contains("test");
        console.log(result);
      }
    </script>

5.自定义属性操作

  <div id="dv" data-name="帅哥" data-age="20" data-user-sex="男"></div>
  <script>
    //设置自定义属性:data-名字 ---->都小写
    //获取自定义属性
    var dt = document.querySelector("#dv").dataset;
    console.log(dt.name);//对象.属性
    console.log(dt[age]);//对象.属性
    console.log(dt.userSex);//对象.属性

    //如何通过代码为标签添加自定义属性
    dt.height="180";
    dt.userWeight="55";
  </script>

。。。未完待续

html5新特性学习笔记的更多相关文章

  1. java8 新特性学习笔记

    Java8新特性 学习笔记 1主要内容 Lambda 表达式 函数式接口 方法引用与构造器引用 Stream API 接口中的默认方法与静态方法 新时间日期 API 其他新特性 2 简洁 速度更快 修 ...

  2. HTML5新特性学习-1

    本文在于巩固基础 新特性:音频的使用 <!DOCTYPE html> <html> <head lang="en"> <meta char ...

  3. HTML5新特性学习-2

    本文在于巩固基础 HTML5绘图基础 <canvas>画布元素的使用 <div> <canvas id="can" width="200px ...

  4. Java8新特性学习笔记(一) Lambda表达式

    没有用Lambda表达式的写法: Comparator<Transaction> byYear = new Comparator<Transaction>() { @Overr ...

  5. java8新特性学习笔记(二) 使用流(各种API)

    筛选和切片 用谓词筛选,筛选出各个不相同的元素,忽略流中的头几个元素,或将流截断至指定长度 用谓词筛选 Stream接口支持filter方法,该操作接受一个谓词(返回一个boolean的函数) 作为参 ...

  6. java8新特性学习笔记(二) 流的相关思想

    流是什么 流是Java API的新成员,他允许你以声明的方式处理数据集合,就现在来说,可以把他们看成遍历数据集合的高级迭代器.此外,流还可以透明地并行处理,你无须写任何多线程代码. 下面例子是新老AP ...

  7. java8新特性学习笔记链接

    https://blog.csdn.net/yitian_66/article/details/81010434

  8. java 新特性学习笔记

    java 1.7 Files.write(path,list,StandardCharsets.UTF_8,StandardOpenOption.APPEND); String preTime = F ...

  9. web全栈架构师[笔记] — 03 html5新特性

    HTML5新特性 一.geolocation PC端 精度比较低 通过IP库定位 移动端 通过GPS window.navigator.geolocation 单次 getCurrentPositio ...

随机推荐

  1. LeNet,AlexNet,GoogleLeNet,VggNet等网络对比

    CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服.当时有流传的段 ...

  2. ESB结合门户Portlet实现数据分析

    1 背景概述 笔者在公司做集成项目时,通常会涉及ESB与Portal结合实现图表数据分析功能.通过ESB获取数据库信息,然后在门户上采用Portlet接收ESB中的数据URL最后展现到门户上.本文为项 ...

  3. Avoiding Common Networking Mistakes

    https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/Networkin ...

  4. C#基础-gc算法

    众所周知,c++是需要程序员手动管理内存的,然而手动释放内存很容易被程序员遗漏,从而导致资源浪费或内存泄露.为解决这个问题,垃圾回收器诞生了,代替程序员自动管理内存的释放.至于gc算法则是垃圾回收器清 ...

  5. Java诊断工具

    官方文档:Arthas(阿尔萨斯) 1. 安装成功后通过  arthas 命令使用 arthas软件 进入后显示服务器正在运行的Java进程: 2. help显示 atrhas 的功能列表

  6. 【转】使用notepad运行python

    Notepad++是一个开源的文本编辑器,功能强大而且使用方便,一般情况下,Notepad++作为代码查看器,很方便,但是每次要运行的时候,总是需要用右键打开其他的IDE来编译和运行,总有些不方便.特 ...

  7. Java集合类常见面试知识点总结

    微信公众号[Java技术江湖]一位阿里Java工程师的技术小站 Java集合类学习总结 这篇总结是基于之前博客内容的一个整理和回顾. 这里先简单地总结一下,更多详细内容请参考我的专栏:深入浅出Java ...

  8. TCP/IP 笔记 - ICMPv4和ICMPv6 : Internet控制报文协议

    ICMP是一种面向无连接的协议,负责传递可能需要注意的差错和控制报文,差错指示通信网络是否存在错误(如目的主机无法到达.IP路由器无法正常传输数据包等.注意,路由器缓冲区溢出导致的丢包不包括在ICMP ...

  9. 内核开发知识第二讲,编写Kerner 程序中注意的问题.

    一丶函数多线程的安全问题 什么是函数多线程安全. 简单来说就是 ,一个函数在调用过程中.还没有返回的时候.再次被其他线程调用了.但是函数执行的结果是可靠的.就可以了说这个函数是安全的. 比如我们在用户 ...

  10. phpStorm使用技巧总结

    工欲善其事,必先利其器. 拥有一个好的工具不仅可以事半功倍,而且也令人神清气爽. 在编辑器上,我所走过的路是这样的:notepad(对,就是最原始的WIN下的note) -> editplus ...