显示带有 iframe 页面全宽的 YouTube 视频 [关闭]

Posted

技术标签:

【中文标题】显示带有 iframe 页面全宽的 YouTube 视频 [关闭]【英文标题】:Displaying a YouTube video with iframe full width of page [closed] 【发布时间】:2016-11-11 06:12:59 【问题描述】:

我使用来自 YouTube 的 iframe 在我的网站中放置了一个视频,而 iframe 是全宽 (100%) 视频在框架内非常小(高度)。如何使它适合容器的宽度?

代码:

<iframe   src="https://www.youtube.com/embed/5m_ZUQTW13I" frameborder="0" allowfullscreen></iframe>

看截图

【问题讨论】:

Shrink a YouTube video to responsive width的可能重复 你是想制作背景视频还是整页视频? 请显示您正在使用的代码,以便我们为您提供可能的解决方案 另一个快速解决方法是使用 transform: scale(2); 并给 iframe 一个较低的 z-index 如果容器或其父级在其定义中具有溢出:隐藏或自动,则尝试与具有高 z-index 的容器重叠的视频仍将被剪辑。跟踪定义并在本地使用 overflow: visible 覆盖它,或者使用转换技巧启动一个新的 z 堆栈。 【参考方案1】:

要使 You Tube 视频全宽并保持高度(并保持响应),您可以使用以下设置。

.videoWrapper 
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;


.videoWrapper iframe 
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
<div class="videoWrapper">
  <!-- Copy & Pasted from YouTube -->
  <iframe   src="https://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1" frameborder="0" allowfullscreen></iframe>
</div>

【讨论】:

由于某种原因,视频没有显示在 android 上的 Google Chrome 上。知道可能是什么问题吗? 添加来源:css-tricks.com/NetMag/FluidWidthVideo/… 为什么 padding-top: 25px; ? 尽可能在 youtube URL 中使用 https。在我没有 https 的情况下,视频不会在 Chrome 中显示。 在您的网站上嵌入来自 www.youtube-nocookie.com 的内容时使用。【参考方案2】:

问题是 iframe 和视频无法像图像一样缩放,如果您将高度保留为默认值,它会根据纵横比获得按比例正确的高度。

解决此问题的方法是计算出视频的原生宽度/高度,然后做一些数学运算来确定在 100% 屏幕宽度下的高度应该是多少。假设它是 1920x1080,您可以使用视口宽度 (vw) 执行类似的操作。如果您不想让它完全填满屏幕,您可以将 100vw 降低到更合适的值。

iframe
 width: 100vw
 height: calc(100vw/1.77);

【讨论】:

谢谢!使用height: calc(100vw/1.77777778); 去除多余的黑线。【参考方案3】:

使用全屏属性:

<html>
 <body>
  <iframe id="myFrame" src="http://www.youtube.com/embed/W7qWa52k-nE" frameborder="0" allowfullscreen></iframe>
 </body>
</html>

如果它不起作用,则还包括以下 css 代码:

#myFrame
position:relative;
top:0;
left:0;
width:100%;
height:100%;

【讨论】:

以上是关于显示带有 iframe 页面全宽的 YouTube 视频 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何制作一个全宽的 SwiftUI 列表?

在 iFrame 中显示 YouTube 视频

如何在 Bootstrap 中获取跨越父级全宽的按钮组?

视频没有全宽显示

如何将 YouTube 视频添加为 <video> 而不是嵌入的 <iframe>?

我无法在带有 youtube 视频的 iframe 中添加样式