1.HTML中的图片

HTML5的<figure>和<figcaption>为图片提供了一个语义容器,在标题和图片之间建立了清晰的联系。<figcaption>元素告诉浏览器和其他辅助的技术工具这段说明文字描述了<figure>元素的内容。<figure>可以是几张图片、一段代码、音视频、方程或表格等。

<figure>
<img src="https://bkimg.cdn.bcebos.com/pic/8718367adab44aede658ce89b11c8701a18bfb4d?x-bce-process=image/resize,m_lfit,w_220,limit_1"
alt="《肖申克的救赎》海报"
height="300">
<figcaption>故事发生在1947年,银行家安迪(Andy)被指控枪杀了妻子及其情人,安迪被判无期徒刑,这意味着他将在肖申克监狱中渡过余生。</figcaption>
</figure>

效果图如下:

故事发生在1947年,银行家安迪(Andy)被指控枪杀了妻子及其情人,安迪被判无期徒刑,这意味着他将在肖申克监狱中渡过余生。

小结:如果图像对您的内容有意义,则应该使用HTML图像。若纯粹是装饰,则应该使用CSS背景图片,能更好的控制图片和设置图片的位置。

2.HTML中的视频和音频

先看代码:

<video src="rabit320.webm" controls>
<p>你的浏览器不支持HTML5视频,可点击<a href="rabbit320.mp4">此链接</a>观看</p>
</video>

效果图如下:

你的浏览器不支持HTML5视频,可点击此链接观看

  • 其中,src指向你要嵌入到网页中的视频资源;controls可控制回放以及音量功能。 <video>标签内的内容叫后备内容,当浏览器不支持<video>的时候,就会显示这段内容。
  • 接下来,

    我们把src从<video>中移除,把它放在几个单独的<source>中,这样浏览器会先检查<source>,并且播放第一个与其自身相匹配的媒体,你的视频应当包括webm和mp4两种格式,目前这两种格式已经足够支持大多数平台和浏览器。<source>中的 type属性可选,建议加上,它包含了视频文件的MIME types,同时会跳过那些不支持的格式。若你不加的话,浏览器会尝试加载每一个文件,直到找到一个正确的格式,这样会消耗大量的时间和资源。
<video controls>
<source src="rabbit320.mp4" type="video/mp4">
<source src="rabbit320.webm" type="video/webm">
<p>你的浏览器不支持HTML5视频,可点击<a href="rabbit320.mp4">此链接</a>观看</p>
</video>

<audio>用法几乎与 <video>完全一样。

  • 再来看一个非常有意义的标签 <track>,它可以给听不懂音频的/不方便播放音频的/听觉有障碍的人提供字幕。当然这就需要用到一个WebVTT文本格式,一个典型的WebVTT文件如下:

WEBVTT

1

00:00:22.230 --> 00:00:24.606

第一段字幕

2

00:00:30.739 --> 00:00:34.074

第二段

...

  • 要以.vtt后缀名保存文件;
  • <track>链接.vtt文件,需放在<audio>或<video>中,<source>之后,用kind指明是哪种类型(eg:subtitles/captions/descriptions),用srclang告诉浏览器你使用的语言。
<video controls>
<source src="rabbit320.mp4" type="video/mp4">
<source src="rabbit320.webm" type="video/webm">
<track kind="subtitles" src="subtitles_en.vtt" srclang="en">
<p>你的浏览器不支持HTML5视频,可点击<a href="rabbit320.mp4">此链接</a>观看</p>
</video>

你的浏览器不支持HTML5视频,可点击此链接观看

以上均是参考MDN web docs,总结出来的比较重要的知识点,与君共勉。不妥之处,还望大家及时提出!

02 HTML基础-图片和音视频的更多相关文章

  1. office文档、图片、音/视频格式转换工具

    1.音频/视屏转换工具VLC https://wiki.videolan.org/Mp3/#Container_formats  http://wenku.baidu.com/view/ba73ac5 ...

  2. Android 音视频开发学习思路

    Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的.只能通过一点点的学习和积累把这块的知识串联积累起来. 初级入门篇: Android 音视频开发(一) ...

  3. 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息

    在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...

  4. 《即时消息技术剖析与实战》学习笔记12——IM系统如何提升图片、音视频消息发送、浏览的体验

    IM系统如何提升用户发送.浏览图片和音视频消息的体验呢?一是保证图片.音视频消息发送得又快又稳,二是保证用户浏览播放图片.音视频消息时流畅不卡顿. 一.提升用户发送图片.音视频的体验 1. 多上传接入 ...

  5. 八、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-聊天输入框扩展面板的实现

    聊天输入框扩展面板的实现 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入 ...

  6. 【音视频连载-001】基础学习篇- SDL 介绍以及工程配置

    技术开发故事会连载 这是音视频基础学习系列的第一篇文章,主要讲解 SDL 是什么以及为什么要用到它,看似和音视频没啥卵关系,其实必不可少. SDL 简介 SDL 是 "Simple Dire ...

  7. Moviepy音视频开发:视频转gif动画或jpg图片exe图形化工具开发案例

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿之所以学习和研究Moviepy的使用,是因为需要一个将视频转成动画的工具,当时在网上到处搜索查找免费使用工具,结果找了很多自称免费的工具,但转完 ...

  8. 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  9. oss滤网图片音视频过滤(1)内容检测

    图片音视频过滤有好多方法,我这里就不一一介绍了,这篇文章只是简单介绍一下我在项目中使用阿里云oss滤网过滤的步骤 1.所遇问题: 1.图片视频鉴别时要设置textScanRequest.setUriP ...

  10. Android 音视频开发(一) : 通过三种方式绘制图片

    版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7456956.html 在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就 ...

随机推荐

  1. entity framework “XXXXX”的“XXXXX”属性不能设置为“null”值

    "T_LICENSE"的"LICENSEFIRSTDATE"属性不能设置为"null"值.必须将该属性设置为类型为"System. ...

  2. 记D365开发的最佳实践

    前端JS 不同的需求应该划分模块,以便日后修改,也是为了职责分离,模块分离,日后如果想分离到单独的JS文件里面也是比较方便: 对于公共的查询函数,应该做缓存,优先使用sessionStorage. 多 ...

  3. Msp430 编写交通灯程序

    题目:我想想... 红灯亮,按下按键后倒计时10秒,倒计时十秒后,绿灯点亮,红灯熄灭,进入绿灯的15秒倒计时,在只剩下3秒的时候,绿灯闪烁. 代码如下,有点麻烦 当时这么写的 就不改了 #includ ...

  4. abc289g题解

    考虑枚举卖出的物品个数\(i\),把\(b_i\)从大到小排序. 题目的某人会买物品的条件转化为\(b_i\geq p_j-c_j\),这说明卖出的物品的集合是排序后\(b\)的一段前缀,且卖出\(i ...

  5. 手写简单call、apply、bind

    1.call ~function(){ function call_1(context, ...args){ context = context == undefined ? window : con ...

  6. Docker安装 Redis Stack(开发适配-提供 Redis Stack 服务器和RedisInsight可视化) (6.2.4-v2版本)

    一.使用docker安装(开发适配-提供 Redis Stack 服务器和RedisInsight) (6.2.4-v2版本) 简介 安装命令根据实际部署情况调整 版本地址:官方镜像主页 | 发布版T ...

  7. 时间序列 data_range()

    pd.date_range( start=None,#开始时间 end=None,#截止时间 periods=None,#总长度 freq=None,#时间间隔 tz=None,#时区 normali ...

  8. nginx的nginx.conf目录简单配置

    我的nginx.conf是在  etc/nginx/目录下 我是直接在http随便找了个地方添加如下代码的: server { listen 8066; server_name 192.168.0.2 ...

  9. 阿里云 rocketMq 延时消息

    初始化消费者和生产者 生产者 设置rocketmq的accesskey 和secretkey 以及rocketmq的 binder server. 首先 编辑一个配置类,将关于配置rocketmq的东 ...

  10. linux相关命令-linux查看头两行、查看最后两行-查找一个文件里包含的error信息并且把它输出到另一个文件里-查看滚动日志-在一个目录下查找大于50M的文件-根据端口号去杀死某一个进程

    1.linux查看头两行.查看最后两行 使用head(查看前几行).tail(查看末尾几行).eg:查看/home/wenjian1的前10行内容,应该是:# head -n 10 /home/wen ...