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'}

相关推荐
香蕉可乐荷包蛋1 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务2 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
liuyang___2 小时前
第一次经历项目上线
前端·typescript
西哥写代码3 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木3 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js
FungLeo3 小时前
node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示
前端·非对称加密·rsa 加密·node 后端
不灭锦鲤3 小时前
xss-labs靶场第11-14关基础详解
前端·xss
不是吧这都有重名4 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端
霸王蟹4 小时前
React中巧妙使用异步组件Suspense优化页面性能。
前端·笔记·学习·react.js·前端框架
Maỿbe4 小时前
利用html制作简历网页和求职信息网页
前端·html