20.5 HTML 媒体

image-20230808210214585

1. video视频标签

video视频标签: 是HTML中用于在网页上嵌入视频的元素.常用的视频标签属性:
- src属性: 指定视频文件的URL地址.
- controls属性: 用于显示视频播放控件(如播放按钮, 进度条等), 使用户能够控制视频的播放.
- width和height: 指定视频的宽度和高度.
- autoplay: 自动播放视频.
- loop: 循环播放视频.
- poster: 指定视频封面图像的URL地址. 当视频加载或播放出错时将显示该图像.
- preload: 指定视频在页面加载时是否预加载.
- muted: 静音播放视频.注意点: 
* 1. chrome禁止了audio的autoplay属性.音频是静音状态, autoplay属性才可以生效. 可以播放, 不能干扰用户的听觉.
* 2. proload属性与autoplay属性有冲突, 如果设置了autiplay那么proload就会失效.video标签的基本用法示例: <video src="视频地址" controls></video> .
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>media</title>
</head>
<body>
<!-- 视频在配套资源内 -->
<video src="video/movie.ogv" controls></video>
</body>
</html>

GIF 2023-8-4 21-56-32

1.1 自动播放视频

设置autoplay属性自动播放后需要搭配muted属性静音.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>media1</title>
</head>
<body>
<video src="video/movie.ogv" autoplay="autoplay" muted="muted"></video>
</body>
</html>

GIF 2023-8-4 21-53-56

1.2 poster视频封面

使用<video>标签来嵌入视频时, 会经历加载的步骤.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>media2</title>
</head>
<body><video src="video/movie.ogv" controls="controls" poster="image/xiongda.png" width="407" height="250"></video>
</body>
</html>

GIF 2023-8-4 22-11-27

1.3 loop循环播放

循环播放需要搭配自动播放, 自动播放又需要搭配禁音.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>media3</title>
</head>
<body>
<video src="video/movie.ogv" muted="muted" autoplay="autoplay" loop="loop"></video>
</body>
</html>

GIF 2023-8-4 22-18-46

1.4 视频的宽度和高度

设置其中一个属性另一个会自动等比例缩放.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>media</title>
</head>
<body>
<video src="video/movie.ogv" height="1080px" controls="controls"></video>
</body>
</html>

image-20230804222412519

1.5 视频格式

不同浏览器厂商对于视频格式的支持确实不统一, 这可能导致某些视频在某些浏览器上无法兼容播放.为了解决这个问题. 使用HTML5的<video>标签是一种较好的选择.
<video>标签: 用于在网页上播放视频的标准元素, 它支持多种视频格式, 并且在现代浏览器中具有广泛的兼容性.<video>标签支持的三种常见视频格式:
* 1. WebM(.webm): 一种开放的视频格式, 通常用于使用VP8或VP9编码的Web视频.
* 2. Ogg(.ogg): 一种开放的多媒体容器格式, 通常用于包含Theora视频和Vorbis音频.
* 3. MPEG 4(.mp4): 一种常见的视频格式, 通常使用H.264编码, 同时支持AAC音频.为了确保视频在各种浏览器中具有良好的兼容性. 可以提供多个视频源, 并在<video>元素中使用<source>子元素来指定不同格式的视频文件.
浏览器将选择第一个支持的格式来播放视频.示例代码:
<video controls><source src="video.webm" type="video/webm"><source src="video.ogv" type="video/ogg"><source src="video.mp4" type="video/mp4">Your browser does not support the video tag.
</video>示例中, 可以提供名为video.webm, video.ogv, video.mp4的视频文件, 分别对应WebM、Ogg和MPEG-4格式.
如果浏览器支持其中一种格式, 它将选择并播放相应的视频.另外, 如果旧版本的浏览器不支持HTML5的<video>元素, 可以使用JavaScript库(如html5media)来提供降级方案, 使其在这些浏览器上能够播放
这些库通常会检测浏览器的功能并选择适当的解决方案, 例如使用Flash来播放视频.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>media5</title>
</head>
<body>
<video controls="controls"><source src="video/movie.mp4" type="video/mp4"><source src="video/movie.ogv" type="video/ogg"><source src="video/movie.webm" type="video/webm">
</video>
</body>
</html>

2. audio音频标签

<audio>标签: 用于在网页上播放音频的标准元素.
它提供了一种简单的方式来嵌入音频文件, 并允许用户控制音频的播放, 暂停, 音量等.常用的音频标签属性:
* 1. autoplay属性: 该属性用于自动播放音频. 当页面加载完成后, 音频会自动开始播放. 然而, 需要注意的是, 具有此属性的自动播放功能在某些浏览器中可能会被禁用, 因为自动播放功能经常被滥用并被认为是打扰用户体验的元素.* 2. controls属性: 该属性用于显示音频播放器的控制条组件.这些组件包括播放, 暂停按钮, 音量控制, 进度条等, 使用户可以控制音频的播放和暂停, 调整音量等.* 3. loop属性: 该属性用于使音频文件自动循环播放.当音频播放结束时, 它将自动重新开始播放, 形成一个循环.示例:
<audio src="audio.mp3" controls autoplay loop>Your browser does not support the audio tag.
</audio>* 如果浏览器不支持<audio>标签或指定的音频格式, 将显示后备内容'Your browser does not support the audio tag.' .
<audio>标签支持的三种常见音频格式:* 1. Ogg(.ogg): 一种开放的音频容器格式, 通常使用Vorbis音频编码.它提供了比较高的音频质量和压缩效率, 是一种常见的音频格式.* 2. MP3(.mp3): 一种广泛使用的音频格式, 它使用了损耗压缩算法, 能够在保持相对较高音质的同时将音频文件大小减小.* 3. WAV(.wav): 这是一种无损音频格式, 它以原始的脉冲编码调制(PCM)数据存储音频.WAV文件通常比较大, 因为它们没有经过压缩.需要注意的是, 这些音频格式可以在大多数现代浏览器中正常工作, 但浏览器对音频格式的支持仍然可能存在差异.
因此, 为了提供更好的浏览器兼容性, 可以提供多个音频源, 并使用<source>元素为每个源文件指定不同的格式.示例代码:
<audio controls><source src="audio.ogg" type="audio/ogg"><source src="audio.mp3" type="audio/mpeg"><source src="audio.wav" type="audio/wav">Your browser does not support the audio tag.
</audio>示例中, 提供了三个不同格式的音频文件, 分别是Ogg, MP3和WAV.
如果浏览器支持其中一种格式, 它将选择并播放相应的音频文件.
如果浏览器不支持<audio>元素或指定的音频格式, 则会显示后备内容.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>audio</title>
</head>
<body>
<audio src="music/文艺复兴的浩宇.mp3" controls="controls"></audio>
</body>
</html>

image-20230806193351112

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>audio2</title>
</head>
<body><audio controls="controls" loop="loop"><source src="music/文艺复兴的浩宇.mp3" type="audio/mp3"><source src="music/文艺复兴的浩宇.ogg" type="audio/ogg"><source src="music/文艺复兴的浩宇.wav" type="audio/wav"></audio>
</body>
</html>

3. details可折叠内容块

details标签: 用于为文档中的内容提供更多的细节和补充信息. 它通常用于展示文档的摘录, 补充说明或隐藏的内容.使用details标签, 可以创建一个可折叠的内容块, 用户可以点击标题以展开或收起内容.
这样的交互可以有效地组织和展示大段的文本内容, 使用户可以选择性地查看信息, 节省页面空间.details标签通常包含以下一个子标签summary, 用于定义标题或概要文本, 显示在可折叠内容块的顶部.在浏览器中, 将显示一个默认为折叠状态的内容块, 点击"点击展开"标题将展开内容.
用户可以根据需要展开或收起内容, 以获取所需的详细信息.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>summary</title>
</head>
<body>
<details><summary>点击展开</summary><p>这是一段详细的描述.</p><p>更多内容可以在这里展示.</p>
</details>
</body>
</html>

GIF 2023-8-8 19-06-36

4. marquee滚动条

<marquee>标签: 用于在网页中创建滚动内容的标签, 尽管它不是W3C官方的标准, 但多数浏览器(包括某些现代浏览器)仍支持它.
常用的属性及其用法:* 1. direction属性: 用于指定滚动的方向. 可以通过以下值进行设置:- up: 从下往上滚动.- down:从上往下滚动.- left:从右往左滚动(默认值).- right:从左往右滚动.* 2. behavior属性: 用于设置滚动的行为方式. 可取的值包括:- scroll: 单方向循环滚动.- slide: 只滚动一次靠边停止.- alternate: 来回滚动.* 3. bgcolor属性: 用于设置滚动条的颜色. 可以使用CSS颜色值或颜色名称.* 4. scrollamount属性: 用于设置滚动的速度. 数值越大, 滚动速度越快.* 5. loop属性: 用于设置滚动的次数. 表示滚动内容循环的次数, 默认情况下是无限滚动.以下是一个示例,展示了如何使用`<marquee>`标签设置滚动条的属性:需要注意的是, 尽管某些浏览器仍然支持<marquee>标签, 
但在现代的Web开发中,  更推荐使用CSS和JavaScript来实现自定义的滚动效果, 以提供更好的可访问性和更好的跨浏览器兼容性.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>marquee</title>
</head>
<body>
<marquee behavior="alternate">来回滚动</marquee>
<marquee behavior="slide">滚动一次</marquee>
<marquee behavior="scroll">一直滚动</marquee>
<hr>
<marquee direction="up">向上滚动</marquee>
<marquee direction="down">向下滚动</marquee>
<marquee direction="right">向右滚动</marquee>
<marquee direction="left">向左滚动</marquee>
<hr>
<marquee scrollamount="1">滚得慢</marquee>
<marquee scrollamount="100">滚得快</marquee>
<hr>
<marquee bgcolor="red">我有颜色</marquee>
<hr>
<marquee scrollamount="30"><img src="image/ghost.png" alt="图片" height="100px">
</marquee>
</body>
</html>

5. 实体字符

在HTML中, 某些字符具有特殊含义, 无法被直接显示在浏览器中.
如果要在浏览器中展示这些字符, 需要使用字符实体或转义字符来代替.
实体字符          含义
-------------------------
&nbsp;           空格 
&lt;             < 小于
&gt;             > 大于
&amp;            & 和号
&quot;           " 引号
&apos;           ' 撇号
&yen;            ¥ 人民币
&euro;            欧元
&cope;           © 版权              
&reg;            ® 注册商标
&trade;           商标
&times;          × 乘号
&divide;         ÷ 除号注意点: 大小写敏感.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>characters</title>
</head>
<body>
<p>&nbsp;&nbsp;</p>
<p>&lt;a&gt;标签
</p>
<p>&amp;和号
</p>
<p>&quot;引号
</p>
<p>&apos;撇号
</p>
<p>&yen;人名币
</p>
<p>&euro;欧元
</p>
<p>&copy;版权
</p>
<p>&reg;注册商标
</p>
<p>&trade;商标
</p>
<p>&times;乘号
</p>
<p>&divide;除号
</p>
</body>
</html>

image-20230806203516015

6. 废弃标签

HTML的标签通常被设计为具有语义, 并用于表示文档中的结构和内容.
然而, 早期的HTML标准中确实存在一些标签, 它们的目的是为了样式化文本或实现特定的显示效果, 而不是传达具体的语义,
随着HTML的发展和标准化, 为了更好地符合语义化的原则, 一些标签被淘汰或不再推荐使用.以下是一些早期标签及其作用: <br>, <hr>, <font>, <b>, <u>, <i>, <s>等标签.需要强调的是, 在现代的Web开发中, 尽量避免使用这些被淘汰的标签.
CSS提供了更灵活和可维护的样式控制方式.
此外, 使用应该更关注语义化, 可访问性和可扩展性, 以确保网页的正确解析, 表达和可读性.
HTML5引入了一些具有语义的标签, 来替代一些被淘汰的标签, 并更好地表达文档的结构和内容.以下是一些新增的HTML5语义标签及其作用:- <strong>标签用于定义重要强调的文字.它与<b>标签类似, 都可以用于加粗文本, <strong>标签具有更强的语义含义, 表示文本的重要性或紧迫性.- <ins>标签用于定义插入的文字. 它可以给文本添加下划线, 但也更强调插入内容的语义.- <em>标签用于定义强调的文字.<i>标签类似, 都可以用于使文本以斜体显示, <em>标签表示文本的强调重点, 增加了语义.- <del>标签用于定义被删除的文字.它可以给文本添加删除线, 表示该文本已被删除或不再有效.通过使用这些语义标签, 开发人员可以更准确地描述文档中的内容, 并提供更好的语义信息, 使得文档更易于理解和解析.需要注意的是, 这些语义标签并不仅仅是样式上的替代品, 它们还赋予了文本更准确的含义, 
并为搜索引擎,屏幕阅读器等提供了更好的理解和可访问性.
因此, 在适当的情况下, 应该优先使用这些语义标签, 而不仅仅依赖于样式化标签来达到特定的外观效果.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>font_style</title>
</head>
<body>
<p><strong>aaa</strong>
</p>
<p><ins>bbb</ins>
</p>
<p><em>ccc</em></p>
<p><del>ddd</del>
</p>
</body>
</html>

image-20230806202317794

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>font_style2</title><style type="text/css">.one {font-weight: bold;}.two {text-decoration: underline;}.three {font-style: italic;}.four {text-decoration: line-through;}</style>
</head>
<body>
<p class="one">aaa</p>
<P class="two">bbb</P>
<p class="three">ccc</p>
<p class="four">ddd</p>
</body>
</html>

image-20230806202405469

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Map Reduce教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 MapReduce是一种编程模型&#xff0c;用于大规模数据集&#xff08;大于1TB&#xff09;的并行运算。概念"Map&#xff08;映射&#xff09;"和"Reduce&#xff08;归约&#xff09;"&#xff0c;是它们的主要思想&#xff0c;都是从函数式编程语…

【Unity实战系列】Unity的下载安装以及汉化教程

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;怎么说呢&#xff0c;其实这才是我以后真正想写想做的东西&#xff0c;虽然才刚开始&#xff0c;但好歹&#xff0c;我总算是启程了。今天要分享…

3.4 Spring MVC注解

注解名称 注解说明 RequestMapping 用来处理请求地址映射的注解&#xff0c;可以在接口、类和方法上使用 value属性 表示请求地址&#xff0c;与path属性一致 method属性 表示接收HTTP请求方法&#xff0c;默认接收所有请求方法&#xff0c;请求包括GET、POST、PUT、DEL…

Java-网络编程

TCP TCP&#xff08;Transmission Control Protocol&#xff09;是一种在计算机网络中用于可靠数据传输的协议。它是一种面向连接的协议&#xff0c;确保数据在发送和接收之间的可靠性和有序性。以下是TCP是如何工作的简要概述&#xff1a; 建立连接&#xff1a; 当两台计算机…

使用RecyclerView构建灵活的列表界面

使用RecyclerView构建灵活的列表界面 1. 引言 在现代移动应用中&#xff0c;列表界面是最常见的用户界面之一&#xff0c;它能够展示大量的数据&#xff0c;让用户可以浏览和操作。无论是社交媒体的动态流、商品展示、新闻列表还是任务清单&#xff0c;列表界面都扮演着不可或…

第一百二十四天学习记录:C++提高:STL-deque容器(上)(黑马教学视频)

deque容器 deque容器基本概念 功能&#xff1a; 双端数组&#xff0c;可以对头端进行插入删除操作 deque与vector区别 vector对于头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低 deque相对而言&#xff0c;对头部的插入删除速度比vector快 vector访问元素的…

LeetCode150道面试经典题--同构字符串(简单)

1.题目 给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符的顺序。不同字符不能映射到同一个字符上&#xff0c…

【LeetCode 算法】Minimum Falling Path Sum II 下降路径最小和 II-动态规划-SP

文章目录 Minimum Falling Path Sum II 下降路径最小和 II问题描述&#xff1a;分析代码DP Tag Minimum Falling Path Sum II 下降路径最小和 II 问题描述&#xff1a; 给你一个 n x n 整数矩阵 grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路…

ppt怎么压缩?试试这样压缩文件

当PPT文件体积过大时&#xff0c;打开的速度就会很慢&#xff0c;演示的时候刘程度也会受到影响&#xff0c;其次&#xff0c;现在很多平台对于上传的文件是有大小限制的&#xff0c;比如超过100M的文件就无法上传、发送等等&#xff0c;那么&#xff0c;怎么才能压缩PPT文件呢…

VR全景乡村旅游浇灭乡愁,近距离体验自然之美

说起乡愁&#xff0c;可能每位漂泊的游子都有所感受&#xff0c;在外漂泊数十载&#xff0c;每到佳节倍思亲&#xff0c;家乡的一草一木都浮现在脑海中&#xff0c;满载着儿时的回忆。为了留住那抹儿时回忆&#xff0c;VR全景助力数字化乡村建设。 乡村振兴是国家的重大战略&am…

ChatGPT将会成为强者的外挂?—— 提高学习能力

目录 前言 一、提高学习力 &#x1f9d1;‍&#x1f4bb; 1. 快速找到需要的知识 2. 组合自己的知识体系 3. 内化知识技能 二、提问能力❗ 三、思维、创新能力 &#x1f31f; 1. 批判性思维 1.1 八大基本结构进行批判性提问 1.2 苏格拉底的提问分类方法 2. 结构化思…

功能上新|全新GPU性能优化方案

GPU优化迎来了全新的里程碑&#xff01;我们深知移动游戏对高品质画面的追求日益升温&#xff0c;因此UWA一直着眼于移动设备GPU性能优化&#xff0c;以确保您的游戏体验尽善尽美。然而&#xff0c;不同GPU芯片之间的性能差异及可能导致的GPU瓶颈问题&#xff0c;让优化工作变得…

nvm的介绍和常用命令

一. 介绍 nvm&#xff08;Node Version Manager&#xff09;是一个用于管理多个Node.js版本的工具&#xff0c;它允许你在同一台机器上安装和切换不同的Node.js版本。以下是nvm的一些详细介绍&#xff1a; 安装和配置&#xff1a;你可以从nvm的GitHub仓库中下载并安装nvm。安装…

摆动序列——力扣376

文章目录 题目描述贪心题目描述 贪心 int wiggleMaxLength(vector<int>& nums){int n=nums.

XSS和CSRF

web安全策略和同源策略的意义 如果登陆了一个网站&#xff0c;不小心又打开另一个恶意网站&#xff0c;如果没有安全策略&#xff0c;则他可以对已登录的网站进行任意的dom操作、伪造接口请求等&#xff0c;因此安全策略是必要的&#xff1b; 浏览器的同源策略限制了非同源的域…

css实现文字首行缩进的效果

<div class"content"><p>站在徐汇滨江西岸智塔45楼&#xff0c;波光粼粼的黄浦江一览无余。近处&#xff0c;是由龙华机场储油罐改造而来的油罐艺术中心和阿里巴巴上海总部办公处。远处&#xff0c;历史悠久的龙华塔挺拔秀丽&#xff0c;总投资逾600亿元…

C# 数据类型

C# 数据类型 一、整数类型&#xff08;Integral Types&#xff09;1.sbyte2.byte3.short4.ushort5.int6.uint7.long8.ulong 二、浮点数类型&#xff08;Floating-Point Types&#xff09;1.float2.double3.decimal 三、字符类型&#xff08;Character Type&#xff09;1.char 四…

PAT 1101 Quick Sort

个人学习记录&#xff0c;代码难免不尽人意 There is a classical process named partition in the famous quick sort algorithm. In this process we typically choose one element as the pivot. Then the elements less than the pivot are moved to its left and those la…

【NLP】深入浅出全面回顾注意力机制

深入浅出全面回顾注意力机制 1. 注意力机制概述2. 举个例子&#xff1a;使用PyTorch带注意力机制的Encoder-Decoder模型3. Transformer架构回顾3.1 Transformer的顶层设计3.2 Encoder与Decoder的输入3.3 高并发长记忆的实现self-attention的矩阵计算形式多头注意力&#xff08;…

Cloud Studio实战——热门视频Top100爬虫应用开发

最近Cloud Studio非常火&#xff0c;我也去试了一下&#xff0c;感觉真的非常方便&#xff01;我就以Python爬取B站各区排名前一百的视频&#xff0c;并作可视化来给大家分享一下Cloud Studio&#xff01;应用链接&#xff1a;Cloud Studio实战——B站热门视频Top100爬虫应用开…