02 HTML基础-图片和音视频
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>
效果图如下:
小结:如果图像对您的内容有意义,则应该使用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基础-图片和音视频的更多相关文章
- office文档、图片、音/视频格式转换工具
1.音频/视屏转换工具VLC https://wiki.videolan.org/Mp3/#Container_formats http://wenku.baidu.com/view/ba73ac5 ...
- Android 音视频开发学习思路
Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的.只能通过一点点的学习和积累把这块的知识串联积累起来. 初级入门篇: Android 音视频开发(一) ...
- 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息
在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...
- 《即时消息技术剖析与实战》学习笔记12——IM系统如何提升图片、音视频消息发送、浏览的体验
IM系统如何提升用户发送.浏览图片和音视频消息的体验呢?一是保证图片.音视频消息发送得又快又稳,二是保证用户浏览播放图片.音视频消息时流畅不卡顿. 一.提升用户发送图片.音视频的体验 1. 多上传接入 ...
- 八、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-聊天输入框扩展面板的实现
聊天输入框扩展面板的实现 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入 ...
- 【音视频连载-001】基础学习篇- SDL 介绍以及工程配置
技术开发故事会连载 这是音视频基础学习系列的第一篇文章,主要讲解 SDL 是什么以及为什么要用到它,看似和音视频没啥卵关系,其实必不可少. SDL 简介 SDL 是 "Simple Dire ...
- Moviepy音视频开发:视频转gif动画或jpg图片exe图形化工具开发案例
☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿之所以学习和研究Moviepy的使用,是因为需要一个将视频转成动画的工具,当时在网上到处搜索查找免费使用工具,结果找了很多自称免费的工具,但转完 ...
- 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...
- oss滤网图片音视频过滤(1)内容检测
图片音视频过滤有好多方法,我这里就不一一介绍了,这篇文章只是简单介绍一下我在项目中使用阿里云oss滤网过滤的步骤 1.所遇问题: 1.图片视频鉴别时要设置textScanRequest.setUriP ...
- Android 音视频开发(一) : 通过三种方式绘制图片
版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7456956.html 在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就 ...
随机推荐
- C# Linq查本集合中不包含于另一个集合的元素
public void Linq() { List<Product> products = GetProductList(); List<Customer> customers ...
- JavaScript 基础学习(二)
JavaScript 基础学习(二) instanceof方法: var s = "hello"; var i = 8; //typeof 只能判断基本数据类型 alert(typ ...
- ConstantBuffer
Constant Buffer的高效使用,让你码出质量 https://zhuanlan.zhihu.com/p/35830868 Unity ConstantBuffer的一些解析和注意 https ...
- IDEA中已配置阿里镜像,但maven无法下载jar包的问题
然后我还出现了一个问题,由于使用了HTTPS,存在着SSL证书验证的问题,因此我在IDEA中添加了一行配置: 配置如下: -Dmaven.wagon.http.ssl.insecure=true -D ...
- JS学习-从服务器获取数据
从服务器获取数据 Ajax 通过使用诸如 XMLHttpRequest 之类的API或者 - 最近以来的 Fetch API 来实现. 这些技术允许网页直接处理对服务器上可用的特定资源的 HTTP 请 ...
- mongoengine模型字段非严格校验FieldDoesNotExist
背景 最近需要从mongoDB中查询数据用于数据分析,一开始就用了pymongo后来发现使用起来很不方便,后面了解到有类似SQLAlchemy的ORM模块mongoengine能够操mongo 简单看 ...
- 杭电oj 求奇数的乘积
#include <stdio.h> #include <stdlib.h> int main() { int i,n,a; int sum = 1; while(scanf( ...
- cadence报错:Class must be one of IC, IO, DISCRETE, MECHANICAL, PLATING_BAR or DRIVER_CELL.
在原理图文件上右键选择Edit Object Properties, 然后在class一栏中修改class为IC, IO, DISCRETE, MECHANICAL, PLATING_BAR or D ...
- openpyxl-使用API总结
import openpyxlfrom openpyxl.comments import Comment from openpyxl.styles import Font, Alignment, Bo ...
- 错题笔记:只有浮点型float double可以装小数
char是不能表示小数的,如果赋值小数 则小数部分直接省略.