HTML5概述 - 语义化标签

一、HTML5 简介

1、什么是 HTML5

HTML5 不是一门新的语言,而是我们之前学习的 HTML 的第五次重大修改版本。

2、HTML 的发展历史

•超文本标记语言(第一版,不叫 HTML 1.0)——在 1993 年 6 月作为互联网工程工作小组(IETF)工作草案发布(并非标准);•HTML 2.0——1995 年 11 月作为 RFC 1866 发布,在 RFC 2854 于 2000 年 6 月发布之后被宣布已经过时•HTML 3.2——1997 年 1 月 14 日,W3C 推荐标准•HTML 4.0——1997 年 12 月 18 日,W3C 推荐标准•HTML 4.01(微小改进)——1999 年 12 月 24 日,W3C 推荐标准•HTML 5——2014 年 10 月 28 日,W3C 推荐标准

3、HTML5 的设计目的

HTML5 的设计目的是为了在移动设备上支持多媒体。之前网页如果想嵌入视频音频,需要用到 flash ,但是苹果设备是不支持 flash 的,所以为了改变这一现状,html5 应运而生。

新的语法特征被引进以支持视频音频,如 video、audio 和 canvas 标记。

HTML5 还引进了新的功能,可以真正改变用户与文档的交互方式。比如增加了新特性:语义标签,本地存储,网页多媒体等等,以及 CSS3 特性。

相比之前的进步:

•取消了一些过时的 HTML4 标签•新的表单控件(比如 date、time、email、url、search)•语义化标签(比如 article、footer、header、nav、section)•对本地离线存储的更好的支持•用于绘画的 canvas 元素•用于多媒体的 video 和 audio 元素

二、语义化标签

1、什么是语义化标签?

类似于 p,span,img 等这样的,看见标签就知道里面应该保存的是什么内容的是语义化标签。

像 div 这样的里面可以装任意东西的就是非语义化标签。

以前我们要做下面这个结构可能会这么布局:

HTML5概述 - 语义化标签_第1张图片

那么在 html5 下语义化标签怎么做呢?

HTML5概述 - 语义化标签_第2张图片

是不是语义化的代码结构更清晰、简洁呢?

2、HTML5 部分新增的标签

2.1、结构标签

header:一个区块的头部信息/标题;•footer:一个区块的底部信息;•nav:导航栏区域;•section:一个通用独立章节或者区域。一般来说会包含一个标题。•article:一块独立区块,表示一块相对比较独立的内容;•aside:表示一个和主体内容几乎无关的部分,可以被单独的拆分出来而不会使整体受影响。

2.2、表单标签

•email:邮件控件;•url:地址控件;•range:数字范围控件;•日期选择器:•date:选取日、月、年•month:选取月、年•week:选取周和年•time:选取时间(小时和分钟)•datetime:选取时间、日、月、年(UTC 时间)•datetime-local:选取时间、日、月、年(本地时间)•search:搜索控件;•color:颜色控件

学生档案





HTML5概述 - 语义化标签_第3张图片

表单标签新增的一些属性:

autofocus:自动获取焦点•required:不能为空•disabled:禁用•hidden:隐藏

2.3、媒体标签

•video:视频;•audio:音频;•embed:嵌入内容(包括各种媒体),Midi、Wav、AU、MP3、Flash、AIFF 等。


  
  
  


  
  
  
  


  
  
  

注意:Chrome 在 2018 年 4 月份更新后关闭了 audio、video 媒体标签的 autoplay 自动播放 , 这个改变是在 Google Chrome 版本 66 开始的时候,不再自动开始播放音频和视频文件,阻止对广告视频和其他烦人的网页元素进行自动播放,原因大概是为了提高用户体验,防止一进入网页会自动播放声音过大的音频。在之后测试发现火狐浏览器也有类似情况发生。

测试后发现,如果使用的是 video 标签,可以添加 muted 属性,这样视频可以自动播放,但是是为静音模式。

媒体标签的方法:(20190221)

参考链接:HTML 音频/视频 - 菜鸟教程[1]

可以通过 js 控制音视频的播放:(所有网页音视频的控制都应该使用 js 控制,播放的控件自己画,这样才能达到跨平台界面相同。)

参看链接:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp

1、获取媒体标签的 dom 元素(例如叫 mdom)

2、控制媒体的行为的方法和属性和触发事件。

// 方法
mdom.play() // 开始播放
mdom.pause() // 暂停播放
mdom.load() // 重新加载音视频


// 属性
autoplay // 设置或返回歌曲是否自动播放
controls // 设置或返回是否显示原生播放控件
currentSrc // 获取当前的播放地址
paused // 是否是暂停状态
currentTime: // 获取或者设置当前音视频播放时长
defaultMuted // 设置或返回当前音频视频是否默认静音
muted      // 设置或返回当前音视频是否静音
duration    // 返回当前音频/视频的长度(以秒计)。需要在媒体加载完成后获取
       // 一般使用  mdom.addEventListener('durationchange',function() {
        //               console.log(this.duration)
         //         }
defaultPlaybackRate // 设置或返回默认的播放速度
                    // 正值为正向播放,负值为负向播放
                  // 1 为正常速度, <1 慢速, >1 加速
playbackRate     // 设置或返回当前的播放速度,值同上
ended  // 返回当前资源是否播放结束
error   // 返回播放错误信息
loop   // 设置或返回是否循环播放


preload // 设置加载机制(自动,metadata,none)
readyState  // 返回当前音视频是否准备完毕
volume    // 设置或返回当前音量




// 事件
canplay // 当前资源可以被播放的时候
durationchange // 当播放总时长发送改变的时候
pause      // 当前资源被暂停时
play       // 当前资源被播放时
playing    // 包含上面play时机,但是因网络原因导致播放终止而后重新开始播放时只会触发playing
ratechange // 播放速度发生变化时触发
seeked     // 由用户更改当前播放时长时触发
seeking    // 由用户刚开始更改播放时长时触发
timeupdate // 当播放位置发生变化时触发(无论是否由用户操作)
volumechange  // 当音量发生变化时触发

2.4、其他功能标签

•mark:标注;•progress:进度条;••time:数据标签,给搜索引擎使用;•发布日期 •更新日期 •ruby 和 rt:对某一个字进行注释;•hanzi •canvas:绘图标签;•deteils :展开菜单;•datalist:数据列表元素;

专业:
网址:

References

[1] HTML 音频/视频 - 菜鸟教程: http://www.runoob.com/tags/ref-av-dom.html

你可能感兴趣的:(html5,html,css,前端,javascript)