前端学习——第三天HTML多媒体嵌入

1.插入图片

第一:

使用<img>元素,进行最基本的图片插入,该元素最少要一个src(source)使其生效。src 属性包含了指向我们想要引入的图片的路径,可以是相对路径或绝对URL,就像 <a>元素的 href 属性一样。

<img src="images/1.jpg">
//搜索引擎也读取图像的文件名并把它们计入SEO。
因此你应该给你的图片取一个描述性的文件名(名字中英文),
这里为了省事。

alt属性:

备选文本;用于图片无法显示时候,作为替代文本

<img src="images/1.jpg" alt="这是一个图片">

高度和宽度:

你不应该使用HTML属性来改变图片的大小。如果你把尺寸设定的太大,最终图片看起来会模糊;如果太小,会在下载远远大于你需要的图片时浪费带宽。如果你没有保持正确的宽高比,图片可能看起来会扭曲。在把图片放到你的网站页面之前,你应该使用图形编辑器使图片的尺寸正确。

<img src="images/1.jpg" alt="这是一张图片" width="400" height="341">
//注意:如果你需要改变图片的尺寸,你应该使用CSS而不是HTML。

图片标题:(title 在鼠标悬停时显示提示)

<img src="images/1.jpg" alt="这是一张图片" title="一个男人">

为图片搭配说明文字的方式来解说图片:

<figure>元素和其的<figcaption>元素
举例:

<figure>
<img src="images/1.jpg" alt="这是一个恐龙" >
<figcaption>写入描述性的文字</figcaption>
</figure>

结果
在这里插入图片描述

2.视频和音频内容

video元素

<video src="1.webm" controls>
<!--可有可没有--><p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此链接</a>观看</p>
</video>
  • src
    <img>标签使用方式相同,src 属性指向你想要嵌入网页当中的视频资源,他们的使用方式完全相同。
  • controls
    用户必须能够控制视频和音频的回放功能。你可以使用 controls 来包含浏览器提供的控件界面,同时你也可以使用合适的 JavaScript API 创建自己的界面。界面中至少要包含开始、停止以及调整音量的功能。
  • <video> 标签内<p></p>的内容
    这个叫做后备内容 — 当浏览器不支持<video>标签的时候,就会显示这段内容,这使得我们能够对旧的浏览器提供回退内容。你可以添加任何后备内容,在这个例子中我们提供了一个指向这个视频文件的链接,从而使用户至少可以访问到这个文件,而不会局限于浏览器的支持。
  • 其他特性
    width 和 height 你可以用属性控制视频的尺寸,也可以用 CSS 来控制视频尺寸。 无论使用哪种方式,视频都会保持它原始的长宽比 — 也叫做纵横比。如果你设置的尺寸没有保持视频原始长宽比,那么视频边框将会拉伸,而未被视频内容填充的部分,将会显示默认的背景颜色。
    autoplay 这个属性会使音频和视频内容立即播放,即使页面的其他部分还没有加载完全。建议不要应用这个属性在你的网站上,因为用户们会比较反感自动播放的媒体文件。
    loop 这个属性可以让音频或者视频文件循环播放。同样不建议使用,除非有必要。
    muted 这个属性会导致媒体播放时,默认关闭声音。
    poster 这个属性指向了一个图像的URL,这个图像会在视频播放前显示。通常用于粗略的预览或者广告。
    preload 这个属性被用来缓冲较大的文件,有3个值可选:
  • “none” :不缓冲
  • “auto” :页面加载后缓存媒体文件
  • “metadata” :仅缓冲文件的元数据

audio元素

<audio> 标签<audio> 标签与 <video> 标签的使用方式几乎完全相同
使用:

<audio src="1.mp3" controls>
<p>你的浏览器不支持 HTML5 音频,可点击<a href="1.mp3">此链接</a>收听。</p>
</audio>

注意:video和audio的controls是不可缺的,缺了就不能控制播放进度。也就 无法播放

3.嵌入类型的使用

iframe元素(内联框架)

该元素旨在允许您将其他Web文档嵌入到当前文档中。这很适合将第三方内容嵌入您的网站,因为您可能无法直接控制,也不希望实现自己的版本 - 例如来自在线视频提供商的视频,Disqus等评论系统,在线地图提供商,广告横幅等。
例子:

<iframe src="https://player.bilibili.com/player.html?aid=19390801&cid=31621681&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

allowfullscreen

  • 如果设置,<iframe>则可以通过全屏API设置为全屏模式(稍微超出本文的范围)。

frameborder

  • 如果设置为1,则会告诉浏览器在此框架和其他框架之间绘制边框,这是默认行为。0删除边框。不推荐这样设置,因为在CSS中可以更好地实现相同的效果。border: none;

src

  • 该属性与<video>/<img>一样包含指向要嵌入文档的URL路径。

width 和 height

  • 这些属性指定您想要的iframe的宽度和高度。

备选内容

  • 与等其他类似元素相同,您可以在<iframe></iframe>标签之间包含备选内容,如果浏览器不支持<iframe>,将会显示备选内容,这种情况下,我们已经添加了一个到该页面的链接。现在您几乎不可能遇到任何不支持<iframe>的浏览器。

sandbox

  • 该属性需要在已经支持其他<iframe>功能(例如IE 10及更高版本)但稍微更现代的浏览器上才能工作,该属性可以提高安全性设置;

在现实开发中不推荐使用内联框架,因为内联框架中的内容不会被搜索引擎所检索。

embed元素和object元素

<embed>和<object>元素的功能不同于<iframe>—— 这些元素是用来嵌入多种类型的外部内容的通用嵌入工具,其中包括像Java小程序和Flash, PDF(可在浏览器中显示为一个PDF插件)这样的插件技术,甚至像视频,SVG和图像的内容!(插件是一种对浏览器原生无法读取的内容提供访问权限的软件)

//嵌入Flash影片
<embed src="whoosh.swf" quality="medium"
       bgcolor="#ffffff" width="550" height="400"
       name="whoosh" align="middle" allowScriptAccess="sameDomain"
       allowFullScreen="false" type="application/x-shockwave-flash"      pluginspage="http://www.macromedia.com/go/getflashplayer">
//嵌入pdf
<object data="mypdf.pdf" type="application/pdf"
        width="800" height="1200" typemustmatch>
  <p>You don't have a PDF plugin, but you can <a href="myfile.pdf">download the PDF file.</a></p>
</object>

4.自适应图片

使用两个新的属性——srcset 和 sizes——来提供更多额外的资源图像和提示,帮助浏览器选择正确的一个资源。
例子:

<img srcset="elva-fairy-320w.jpg 320w,
             elva-fairy-480w.jpg 480w,
             elva-fairy-800w.jpg 800w"
     sizes="(max-width: 320px) 280px,
            (max-width: 480px) 440px,
            800px"
     src="elva-fairy-800w.jpg" alt="Elva dressed as a fairy">

注解:

  • srcset定义了我们允许浏览器选择的图像集,以及每个图像的大小.
    在每个逗号之前,我们写:
  1. 一个文件名 (elva-fairy-480w.jpg.)
  2. 一个空格
  3. 图像的固有宽度(以像素为单位)(480w)——注意到这里使用w单位,而不是你预计的px。这是图像的真实大小,可以通过检查你电脑上的图片文件找到(例如,在Mac上,你可以在Finder上选择这个图像,然后按 Cmd + I 来显示信息)。
  • sizes定义了一组媒体条件(例如屏幕宽度)并且指明当某些媒体条件为真时,什么样的图片尺寸是最佳选择—我们在之前已经讨论了一些提示。
    在这种情况下,在每个逗号之前,我们写:
  1. 一个媒体条件((max-width:480px))——你会在 CSS topic中学到更多的。但是现在我们仅仅讨论的是媒体条件描述了屏幕可能处于的状态。在这里,我们说“当可视窗口的宽度是480像素或更少”。
  2. 一个空格
  3. 当媒体条件为真时,图像将填充的槽的宽度(440px)

运行过程:

  • 查看设备宽度
  • 检查sizes列表中哪个媒体条件是第一个为真
  • 查看给予该媒体查询的槽大小
  • 加载srcset列表中引用的最接近所选的槽大小的图像
  • 所以在这里,如果支持浏览器以视窗宽度为480px来加载页面,那么(max-width: 480px)的媒体条件为真,因此440px的槽会被选择,所以elva-fairy-480w.jpg将加载,因为它的的固定宽度(480w)最接近于440px。800px的照片大小为128KB而480px版本仅有63KB大小—节省了65KB。现在想象一下,如果这是一个有很多图片的页面。使用这种技术会节省移动端用户的大量带宽。

一种更简单的方法:
如果你支持多种分辨率显示,但希望每个人在屏幕上看到的图片的实际尺寸是相同的,你可以让浏览器通过srcset和x语法结合——一种更简单的语法——而不用sizes,来选择适当分辨率的图片。
例子:

<img srcset="elva-fairy-320w.jpg,
             elva-fairy-480w.jpg 1.5x,
             elva-fairy-640w.jpg 2x"
     src="elva-fairy-640w.jpg" 
     alt="Elva dressed as a fairy">

有时候,图片大小改变,图片里的某个人或物也会变小,这样就会很难看,所以我们可以做一个特写照片来替换,当照片被缩小时的情况——<picture>元素可以实现
例子:

<picture>
  <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg">
  <source media="(min-width: 800px)" srcset="elva-800w.jpg">
  <img src="elva-800w.jpg" alt="Chris standing up holding his daughter Elva">
</picture>
  • 这些条件来决定哪张图片会显示——第一个条件返回真,那么就会显示这张图片。在这种情况下,如果视窗的宽度为799px或更少,第一个<source>元素的图片就会显示。如果视窗的宽度是800px或更大,就显示第二张图片。
  • srcset属性包含要显示图片的路径。请注意,正如我们在<img>上面看到的那样,<source>可以使用引用多个图像的srcset属性,还有sizes属性。所以你可以通过一个 <picture>元素提供多个图片,不过也可以给每个图片提供多分辨率的图片。
  • 在任何情况下,你都必须在 </picture>之前正确提供一个<img>元素以及它的src和alt属性,否则不会有图片显示。当媒体条件都不返回真的时候(你可以在这个例子中删除第二个<source> 元素),它会提供图片;如果浏览器不支持 <picture>元素时,它可以作为后备方案。
    示例图片:
    在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值