频、视频的格式
开始学习之前,我们要下载些素材用来测试使用,地址如下:https://pan.baidu.com/s/1reRWno0ibYRcYXjw4MClqw
提取码:td80
其中包括两个视频一个音频和一个安装程序。
学习如何在页面中添加音频、视频之前应该了解一点基础知识。
我们应该都有在互联网上下载电影、视频、音乐的经历,大家会注意到,有的视频文件名的后缀是.avi,有的视频是.mp4,还有.mov的,据不完全统计,常见的各种视频格式有十几种之多。
常见的音频的格式比起视频来会显得少一些,一般是.wav和.mp3格式。
为什么存储相同的内容可以有这么多不同的格式呢?
格式产生的核心在于对音频、视频等多媒体文件进行的不同编码方式。
那什么是编码呢?
简单来说我们可以把"编码"这个词分成两个部分,第一个是"编",也就是"整理、组织"的意思,第二个是"码",也就是我们平时所说的"数码"。
首先说"码",我们的计算机中的数据最终都是通过二进制的数字(0和1)来存储或计算的,这些0或1就是数码。无论代码、程序、图片、音乐、视频、文字等的存储与计算都不例外。不管多么复杂或简单的文件,在计算机看来,都是一大堆0和1。
一个0或1被称为1比特,图片或视频中的一个黑白像素通常是8比特(八位),如果一张1080乘720个像素的图片所占内存的大小就是1080*720*8=6220800字节,约等于0,74mb。如果一个视频每秒中有25帧,也就是一秒钟在我们眼前闪过25张图片(视频播放实际上就是在我们眼前快速的更替图片,这些图片在大脑中会被自动连成动作,这也是小的时候在课本的角上画好一套走路的小人的不同动作后,快速翻动书页,画面中的小人会走路的原因,大家可以自行百度"视觉暂留原理")。
一秒钟25张1080乘720的图片的视频,一秒钟就会占0.74*25=18.5mb的内存。如果是一分钟呢,18.5*60=1110mb约等于1.08gb。这样的数据量是不是很吓人。
但事实上我们下载的1080*720的一小时三十分钟左右的视频的体积往往也没有超过1gb,这又是为什么呢?
这就是"编"的功劳!对数码进行整理和组织的主要目的是压缩体积,压缩数据体积既能节省磁盘又能方便传播与携带,是信息技术的关键技术之一,压缩的方法一般有两类,一类叫做无损压缩,也就是通过对这一大堆数码进行一个特殊的组合使其占有更小的空间,一类叫做有损压缩,是在无损压缩的基础上剔除掉人眼睛识别不到的冗余信息。具体的压缩过程涉及到很多数学知识,这里大家简单了解一下即可。
压缩后的视频或音频文件最终通过播放器对该文件的压缩算法进行逆向运算后,还原成计算机可以解读的画面和声音再呈现给观众,这个过程叫做"解码"。
通过"编"的方式压缩文件体积,通过"解"的方式再还原出文件内容成了处理大规模数据的通用手法。
不同的编码和解码方式催生出不同的文件格式,这种情况下,浏览器在播放视频的时候就要有应对不同格式的不同解码方式,在15年以前,浏览器为了能够播放不同格式的视频,就要调用电脑中不同的播放器,这个过程的写法非常麻烦。随着技术不断地整合,时至今日,在页面中播放视频不需要这么复杂的写法了,但是因为每个浏览器都不是包打一切,因此,虽然不用指定播放器,但是也要预设不同格式的视频来应对不同的浏览器。
因此,我们在这一部分的学习中除了讲解如何向页面添加不同格式的音视频外还会告诉大家如何为音视频转换格式。
为页面添加音频、视频
添加音频使用<audio></audio>标签,这个标签被所有浏览器支持,是html5推荐的音频导入标签,但是遗憾的是在html4标准中是不被支持的或者说是非法的。
这里给大家简要介绍一下html5和html4的区别。
简单来说呢,一个html文件的第一条语句是<!DOCTYPE HTML>,它就是HTML5标准的文件。如果是html4,它的第一条声明语句有三种写法,像这样
一:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
二:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
三:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
版权声明:本文为CSDN博主「痦子」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yh1061632045/article/details/81518141
这让我想到了孔乙己的"茴"字的多种写法
是不是很麻烦,其实html5比html4更简单,功能更强大,而且我们一直以html5的标准进行学习,所以大家不必纠结。
下面我们导入一个音频试试吧。示例代码如下:
<!DOCTYPE HTML>
<html>
<head>
<title>音视频导入</title>
</head>
<body>
<audio controls="controls">
<source src="audio/千年的祈祷.mp3" type="audio/mp3" />
</audio>
</body>
</html>
页面效果如下:
其中controls属性就是用来显示播放控制界面的,就是这个:(偷懒的话可以写成"controls"就ok,不必加"="以及后面的内容了。)
如果以后您使用自己编写的控制界面,就可以不添加这个属性。
删掉这个属性后就是这样:这样为自定义的播放控制界面留出了位置。
<audio></audio>标签夹着<source>标签,一个<audio></audio>标签中可以添加多个<source>用以支持不同的格式要求。示例代码如下:(这段代码来自w3school)
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.<!--你的浏览器不支持这个音频元素-->
</audio>
type属性是告诉浏览器音乐文件的类型。
不同格式的文件的生成需要我们自己去做,这就涉及到如何给一个音频文件进行格式转化的问题。这个问题我们明天再说,今天先学习为页面添加音频和视频。
下面我们来看一下视频的导入方法,示例代码如下:
<video controls>
<source src="video/阿塔丽.mp4" type="video/mp4" />
</video>
页面效果如下:
我们可以通过设置height和width属性来控制视频的面积。实例代码如下:
<video controls width="850" height="500" >
<source src="video/阿塔丽.mp4" type="video/mp4" />
</video>
页面效果如下:
视频画面变小了,和视频并排的是我们之前添加的音频文件,由此可知,这两个元素都是内联元素。
今天的内容结束了,明天我们继续学习格式转换和为不同浏览器预设不同音视频格式的方法。
如果您有任何疑问请给我留言,如有问题或错误请予以斧正!
HTML序章(学习目的、对象、基本概念)——零基础自学网页制作
HTML是什么?——零基础自学网页制作
第一个HTML页面如何写?——零基础自学网页制作
HTML页面中head标签有啥用?——零基础自学网页制作
初识meta标签与SEO——零基础自学网页制作
HTML中的元素使用方法1——零基础自学网页制作
HTML中的元素使用方法2——零基础自学网页制作
HTML元素中的属性1——零基础自学网页制作
HTML元素中的属性2(路径详解)——零基础自学网页制作
使用HTML添加表格1(基本元素)——零基础自学网页制作
使用HTML添加表格2(表格头部与脚部)——零基础自学网页制作
使用HTML添加表格3(间距与颜色)——零基础自学网页制作
使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作
16进制颜色表示与RGB色彩模型——零基础自学网页制作
HTML中的块级元素与内联元素——零基础自学网页制作
初识HTML中的<div>块元素——零基础自学网页制作
在HTML页面中嵌入其他页面的方法——零基础自学网页制作
封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作
HTML表单元素初识1——零基础自学网页制作
HTML表单元素初识2——零基础自学网页制作
HTML表单3(下拉列表、多行文字输入)——零基础自学网页制作
HTML表单4(form的action、method属性)——零基础自学网页制作
HTML列表制作讲解——零基础自学网页制作
为HTML页面添加视频、音频的方法——零基础自学网页制作
音视频格式转换神器与html视频元素加字幕——零基础自学网页制作
HTML中使用<a>标签实现文本内链接——零基础自学网页制作
题目只能有30个字,不能写全,其实今天我们要学习的内容有三个,第一,下拉列表表单,第二,多行文字输入表单,第三,数据集表单。
开始学习吧!
前天和昨天我们在《HTML表单元素初识1——零基础自学网页制作》和《HTML表单元素初识2——零基础自学网页制作》中基本上把<input/>标签的type属性里不同的值进行了讲解与实践,今天我们来学习其他包含在<form></form>之间的元素。
带有下拉列表的表单
我们在一些网站填写注册信息时,经常会遇到选择"生活所在地"的操作,因为中国的地名是固定的,因此页面会为我们提供一个下拉列表选项,我们直接点选即可,就不需要输入文字了,这样操作的好处在于不会出现拼写错误。例如:
写这个功能我们需要介绍一组新标签<select></select>。"select"(选择)。在这个标签中再添加<option></option>。"option"(选项)。这样就可以写出带有下拉列表的表单了,示例代码如下:
<select><option></option></select>
这段代码我们继续在昨天的"表单.html"文件中添加即可,在<input type = "image" src = "img/示例图片/submit.jpg"/><br>这段代码之前即可!与这个图片提交按钮共用一个<form></form>标签!
下面我们为多选表单添加名称,示例代码如下:
请选择省份<select><option></option></select>
下面我们添加不同选项,示例代码如下:
请选择省份
<select >
<option >河北</option>
<option >山东</option>
<option >河南</option>
<option >海南</option>
<option >江苏</option>
<option >安徽</option>
</select>
<br><br>
为了规范起见,我们为表单信息添加name和value属性,示例代码如下:
请选择省份
<select name = "province">
<option value="Hebei">河北</option>
<option value="Shandong">山东</option>
<option value="Henan">河南</option>
<option value="Hainan">海南</option>
<option value="Jiangsu">江苏</option>
<option value="Anhui">安徽</option>
</select>
<br><br>
大家要注意的是,在下拉列表表单中,name写在<select>中,value写在<option>中。
页面效果如下:
这里告诉大家一个规律,下拉列表表单默认显示第一个<option></option>中的文字内容。
如果您想改变这个默认显示,请在需要显示的<option>中添加selected属性,并赋值为"selected"。
示例代码如下:
请选择省份
<select name = "province">
<option value="Hebei">河北</option>
<option value="Shandong">山东</option>
<option value="Henan" selected="selected">河南</option>
<!--选中这个选项--><option value="Hainan">海南</option><option value="Jiangsu">江苏</option><option value="Anhui">安徽</option></select><br><br>
页面效果如图:
多行文字输入表单
我们在西瓜视频上发布视频时会被要求填写视频描述,页面中的输入框不是像下图这么短的单行输入框。
而是多行输入框,如图:
使用<textarea></textarea>标签即可添加这样的输入框,不过要设置row(列)和cols(行)属性的数值。示例代码如下:
<br>请简要描述您的剧本的情节<br><textarea row="3" cols="20"></textarea><br>
这段代码添加到</select><br><br>之后,与其共同使用一个<form></form>标签。
下面我们为这个多行输入框添加一些提示和限制。
首先,添加提示文字,和type="text"的<input/>标签一样,都是使用placeholder属性。
第二,我们限制一下字数,使用maxlength(最大长度)属性。
第三,在页面加载完成后,直接让光标停留在输入框中,使用autofocus属性。
下面看看如何写吧,示例代码如下:(不要忘记写好name属性!)
<br>
请简要描述您的剧本的情节<br>
<textarea row="3" cols="20" name ="storyOutLine"placeholder="最多输入80字"maxlength="80"autofocus></textarea><br>
页面效果如图:
如果刷新页面不能正确显示,请尝试关闭后重新打开!
数据集表单
数据集表单实际上就是一个将不同选项或信息打包上传的设置。
当一组表单元素放到 <fieldset> 标签内时,浏览器会以特殊方式来显示它们,它们可能有特殊的边界、3D 效果,或者甚至可创建一个子表单来处理这些元素。(W3school)
这个数据集有三个部分组成,首先是<fliedset></fliedset>,这个标签不会显示,只是告诉浏览器这里的数据要打包。
第二是<legend></legend>,"legend"(说明),这里添加数据集名称。
第三就是我们之前学到的那些标签了。
示例代码如下:
<fliedset> <legend>信息打包</legend> </fliedset>
下面我们使用这段代码把form2打包一下吧。示例代码如下:
<form>
<fieldset><!--开始-->
<legend>信息打包</legend><br>
<!--标题-->兴趣爱好:<br>
<input type = "checkbox" name = "hobby" value = "reading"/>读书
<input type = "checkbox" name = "hobby" value = "film"/>电影
<input type = "checkbox" name = "hobby" value = "painting"/>绘画
<input type = "checkbox" name = "hobby" value = "music"/>音乐
<br>
最高学历:<br>
<input type = "radio" name = "education" value = "highSchool"/>高中
<input type = "radio" name = "education" value = "bachelor"/>本科
<input type = "radio" name = "education" value = "master"/>硕士
<input type = "radio" name = "education" value = "doctor"/>博士
<br>
请选择省份
<select name = "province">
<option value="Hebei">河北</option>
<option value="Shandong">山东</option>
<option value="Henan" selected="selected">河南</option><!--选中这个选项-->
<option value="Hainan">海南</option>
<option value="Jiangsu">江苏</option>
<option value="Anhui">安徽</option>
</select>
<br><br><br>
请简要描述您的剧本的情节<br>
<textarea row="3" cols="20" name ="storyOutLine"placeholder="最多输入80字"maxlength="80"autofocus></textarea>
<br>
</fieldset><!--结尾-->
<input type = "image" src = "img/示例图片/submit.jpg"/><br>
<input type="reset" /><br>
<input type = "submit" value = "submit"/>
</form>
页面效果如下:
今天的内容结束了!
如果您喜欢我的教程请关注我,点赞也能让我充满动力!
HTML序章(学习目的、对象、基本概念)——零基础自学网页制作
HTML是什么?——零基础自学网页制作
第一个HTML页面如何写?——零基础自学网页制作
HTML页面中head标签有啥用?——零基础自学网页制作
初识meta标签与SEO——零基础自学网页制作
HTML中的元素使用方法1——零基础自学网页制作
HTML中的元素使用方法2——零基础自学网页制作
HTML元素中的属性1——零基础自学网页制作
HTML元素中的属性2(路径详解)——零基础自学网页制作
使用HTML添加表格1(基本元素)——零基础自学网页制作
使用HTML添加表格2(表格头部与脚部)——零基础自学网页制作
使用HTML添加表格3(间距与颜色)——零基础自学网页制作
使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作
16进制颜色表示与RGB色彩模型——零基础自学网页制作
HTML中的块级元素与内联元素——零基础自学网页制作
初识HTML中的<div>块元素——零基础自学网页制作
在HTML页面中嵌入其他页面的方法——零基础自学网页制作
封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作
HTML表单元素初识1——零基础自学网页制作
HTML表单元素初识2——零基础自学网页制作
HTML表单3(下拉列表、多行文字输入)——零基础自学网页制作
HTML表单4(form的action、method属性)——零基础自学网页制作
HTML列表制作讲解——零基础自学网页制作
为HTML页面添加视频、音频的方法——零基础自学网页制作
音视频格式转换神器与html视频元素加字幕——零基础自学网页制作
HTML中使用<a>标签实现文本内链接——零基础自学网页制作
家好,我是寻找安多芬。
众所周知,Flex 弹性盒子布局已经够流弊了,CSS Grid 网格布局比 Flex 弹性盒子布局还要强大,下面列举一些 Flex 不具备的优点:
1. 可以指定单元格在网格容器里的具体位置。
2. 可以使用 gap 属性设置单元格间指定的间距。Flex 以前是没有的
3. 可以跨行跨列设置单元格。
4. 可以互相重叠,通过设置 z-index 属性控制单元格层级。欲与绝对定位试比高
5. 可以随意摆放某一个单元格在容器中的位置,不按顺序来也行。
Grid 布局唯一缺点:就是生出来比较晚,比 Flex 兼容性差点,需要更高版本的浏览器支持。
详细教程我在这里就不赘述了,可以阅读CSS Grid 网格布局教程 - 阮一峰的网络日志里面有非常详细的指南和示例。
以前在 Flex 布局中是很难设置 item 间距的,只能够通过 justify-content 来设置,但是也只能模糊设置,并不能指定具体值,如果要指定具体值还是得用 margin。
justify-content: space-around | space-between | space-evenly;
现在最新的 CSS 规范中,gap 属性也可以用在 Flex 布局里边了。但是对旧版浏览器兼容比 Grid 还不够友好。
上面是 gap 在 Flex 和 Grid 布局中的兼容性,大家可以根据自己的需求,自行确定要使用哪种布局方式,但我的建议是开始在项目中尝试新技术。
*请认真填写需求信息,我们会在24小时内与您取得联系。