HTML5 新增内容总结

一:HTML5 新增的 语义化元素

  • < header > : 头部元素
  • < nav >: 导航元素
  • < section >: 定义文档某个区域的 元素
  • < article > : 内容元素
  • < aside > : 侧边栏元素
  • < footer >:尾部元素

这些元素的特点是

  • 相对于之前通过id 或者 class 来区分 这些模块的实现来说,使用这些元素 更具备 语义化
  • 通过这些元素编写的对应的模块,可以让搜索引擎更好的检索到对应的模块的内容,有利于 SEO

需要注意的是 这些元素 从本质上讲 和普通的 div 并没有特别大的区别,它们没有添加 对应的 css样式什么的,只是更加语义化了 而已.

二:HTML5 增加的 媒体类型的支持:

音频:< audio > 视频 < video>

HTML5 新增元素 - video

HTML5 < video > 元素用于在HTML 或者XHTML 文档中 嵌入媒体播放器,用于支持文档内 的视频播放.

html 复制代码
<video src="./video/test.mp4" controls></video>

video 常见的属性:

需要注意的是,只单独设置 自动播放autoplay,大部分浏览器是不会自动播放视频的,因为浏览器认为这样会 影响用户体验,此时可以与muted 静音属性 配合,以达到自动播放的目的

每个视频都有自己的格式,浏览器的video 并非支持所有的视频格式

video 的兼容性写法

在 < video > 元素中间的内容,是针对浏览器不支持此元素时候的降级处理.

  • 内容一: 通过 < source >元素制定更多视频格式的源;
  • 内容二: 通过 p/div 等元素指定 在浏览器不支持 video 元素的情况下 显示的内容.
html 复制代码
<video src="test.mp4" controls width="500" autoplay muted>
    <source src="./videos/test.webm">
    <p>你的浏览器 不支持 HTML5 的video 元素,请更换浏览器查看!</p>
</video>

HTML5 新增元素 - audio

HTML < audio > 元素用于在文档中 嵌入音频内容,和video 的用法非常类似

html 复制代码
< audio src = "./media/test.mp3" controls autoplay muted></audio>

audio 常见属性

注意:同样存在 autoplay 问题,解决办法同 video

audio 支持的音频格式

每个音频都会有自己的格式,浏览器的audio 并非支持所有的视频格式

具体支持的格式 可以通过链接查看:

developer.mozilla.org/en-US/docs/...

可以的肯定的是 绝大部分浏览器都支持 mp3 格式的音频,建议 video 直接上.mp4 格式,audio 直接上 .mp3 格式.

< audio > 元素的兼容性处理

在 < audio > 元素中间的内容,是针对浏览器不支持此元素时候的降级处理.

html 复制代码
<audio src="../mdeia/test.mp3" controls autoplay muted>
    <source src="./media/test.ogg">
    <p>你的浏览器不支持HMTL5的audio 元素,请更换浏览器查看!</p>
</audio>

三:HTML5 : input 元素的 拓展内容

HTML5 对 input 元素也进行了 拓展,具体特性如下:

  • placeholder: 输入框的占位文字
  • multiple: 多个值
  • autofocus: 自动聚焦

另外 对于 input 的type 值也有很多拓展:

四:HTML5 新增的全局属性 data-*

在 HTML5 中,新增了一个 全局属性的格式data-*, 用于自定义数据属性:

  • data 设置的 属性可以在JavaScript 的DOM 操作中通过dataset 轻松获取到
  • 通用用于 HTML 和JavaScript 数据之间的传递.
  • 在小程序中,就是通过data-* 来传递数据

data-* 使用demo

html 复制代码
<div class="box" title="test" data-name="kebi" data-age="18"></div>
<script>
  const boxEl = document.getElementsByClassName("box");
  console.log(boxEl[0].dataset);
</script>

打印结果 :{name: 'kebi', age: '18'}

相关推荐
旧曲重听111 分钟前
最快实现的前端灰度方案
前端·程序人生·状态模式
默默coding的程序猿20 分钟前
3.前端和后端参数不一致,后端接不到数据的解决方案
java·前端·spring·ssm·springboot·idea·springcloud
夏梦春蝉26 分钟前
ES6从入门到精通:常用知识点
前端·javascript·es6
归于尽32 分钟前
useEffect玩转React Hooks生命周期
前端·react.js
G等你下课33 分钟前
React useEffect 详解与运用
前端·react.js
我想说一句34 分钟前
当饼干遇上代码:一场HTTP与Cookie的奇幻漂流 🍪🌊
前端·javascript
funnycoffee12335 分钟前
Huawei 6730 Switch software upgrade example版本升级
java·前端·华为
小鱼小鱼干37 分钟前
【Tauri】Tauri中Channel的使用
前端
拾光拾趣录39 分钟前
CSS全面指南:从基础布局到高级技巧与实践
前端·css
南屿im42 分钟前
基于 Promise 封装 Ajax 请求:从 XMLHttpRequest 到现代化异步处理
前端·javascript