首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制iframe YouTube视频中心适合和充分覆盖屏幕的背景使用HTML5 CSS3

问强制iframe YouTube视频中心适合和充分覆盖屏幕的背景使用HTML5 CSS3
EN

Stack Overflow用户
提问于 2014-07-04 19:10:00
回答 3查看 67K关注 0票数 25

如何强制HTML5 iframe YouTube视频中心适合,覆盖全屏窗口背景使用CSS3 HTML最终Java?

例如,"http://paypal.it/“主页背景或"http://unity3d.com/5”顶级视频,作为iframe视频。iframe覆盖全屏(缩放),并覆盖所有宽度和高度时,重新调整窗口。它调整尺寸,保持100%的宽度,放大高度或100%的高度,放大宽度.

如何使用iframe HTML5和CSS3实现这一效果?

代码示例HTML5

代码语言:javascript
复制
<div class="video" style="opacity: 1;">

    <iframe src="http://www.youtube.com/embed/AddHereVideoId?autoplay=1&amp;html5=1" frameborder="0" style="height: 720px;">
     </iframe>

</div>

代码,CSS3,HTML,最终,Java将被感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-06 11:03:46

对于真正的全屏解决方案,可以这样实现:

HTML

代码语言:javascript
复制
<div class="video-background">
    <div class="video-foreground">
      <iframe src="https://www.youtube.com/embed/I4agXcHLySs?controls=0&showinfo=0&rel=0&autoplay=1&loop=1&mute=1" frameborder="0" allowfullscreen></iframe>
    </div>
  </div>

CSS

代码语言:javascript
复制
* { box-sizing: border-box; }
.video-background {
  background: #000;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: -99;
}
.video-foreground,
.video-background iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

@media (min-aspect-ratio: 16/9) {
  .video-foreground { height: 300%; top: -100%; }
}
@media (max-aspect-ratio: 16/9) {
  .video-foreground { width: 300%; left: -100%; }
}
@media all and (max-width: 600px) {
.vid-info { width: 50%; padding: .5rem; }
.vid-info h1 { margin-bottom: .2rem; }
}
@media all and (max-width: 500px) {
.vid-info .acronym { display: none; }
}

它并不完美,例如,它不能很好地处理容器的极端纵横比,但在大多数情况下做得很好。下面是一个有用的例子:

https://codepen.io/hnrchrdl/pen/YzPwjBV

编辑:检查奥利弗的回答,他似乎有这个解决方案的改进版本。

票数 22
EN

Stack Overflow用户

发布于 2020-02-12 16:23:09

全尺寸YouTube视频,所有高宽比,仅CSS

TL:DR - 工作小提琴

作为对@Hinrich答案的更新/改进,我创建了一个CSS--它只适用于所有的纵横比--甚至是极端。iframe不是对宽度进行过度补偿以适应大多数屏幕大小,而是使用vw和vh设置,并使用CSS transform属性(相对于元素而不是父元素)进行偏移。

大多数浏览器(IE9+和所有常绿浏览器AFAIK)都支持vw和vh单元以及transform,所以这应该适用于几乎所有不需要JavaScript的浏览器。

代码语言:javascript
复制
.video-background {
  position: relative;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
}

.video-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  transform: translate(-50%, -50%);
}

@media (min-aspect-ratio: 16/9) {
  .video-background iframe {
    /* height = 100 * (9 / 16) = 56.25 */
    height: 56.25vw;
  }
}
@media (max-aspect-ratio: 16/9) {
  .video-background iframe {
    /* width = 100 / (9 / 16) = 177.777777 */
    width: 177.78vh;
  }
}
代码语言:javascript
复制
<div class="video-background">
  <iframe src="https://www.youtube.com/embed/biWk-QLWY7U?controls=0&showinfo=0&rel=0&autoplay=1&loop=1&mute=1" frameborder="0" allowfullscreen></iframe>
</div>

使用CSS变量

对于那些使用CSS变量的人,您也可以使用做这个(小提琴),它允许您任意重用多个类名的大小:

代码语言:javascript
复制
:root {
  --video-width: 100vw;
  --video-height: 100vh;
}
@media (min-aspect-ratio: 16/9) {
  :root {
    --video-height: 56.25vw;
  }
}
@media (max-aspect-ratio: 16/9) {
  :root {
    --video-width: 177.78vh;
  }
}

.video-background {
  position: relative;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
}
.video-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--video-width);
  height: var(--video-height);
  transform: translate(-50%, -50%);
}
票数 45
EN

Stack Overflow用户

发布于 2015-10-23 10:35:10

我想这就是你想要达到的目标:

代码语言:javascript
复制
.video-wrapper {position: relative; padding-bottom: 56.25%; /* 16:9 */  padding-top: 25px;}
.video-wrapper iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

<div class="video-wrapper">
  <iframe src="http://www.youtube.com/embed/AddHereVideoId?autoplay=1&amp;html5=1" frameborder="0" allowfullscreen></iframe>
</div>

这将给你一个视频,填充容器,它在其中,并将自动缩放的高度也。

我最初在这里找到了这个解决方案:https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24579785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档