Bootstrap 使视频100%适合任何屏幕分辨率

jvlzgdj9  于 2022-12-07  发布在  Bootstrap
关注(0)|答案(8)|浏览(198)

我有一个具有以下属性的视频,帧宽度:1920和框架高度:1080。我需要它的宽度和高度是100%,这样就可以填满整个屏幕。而且它也需要有响应。到目前为止,我有这样的代码:

<video class="hidden-xs hidden-sm hidden-md hidden-custom videosize embed-responsive-item" autoplay="autoplay" loop="loop">
    <source src="~/Videos/myvideo.mp4" type="video/mp4" />
</video>

CSS:

.videosize {
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%; 
    height:100vh;
}

上面的代码完全符合1680 x 1050的屏幕分辨率,但与其他分辨率,它占用了100%的高度,然后宽度调整留下白色两侧。
知道吗?谢谢。

pxy2qtax

pxy2qtax1#

在这里找到了一个很好的解决方案:http://codepen.io/shshaw/pen/OVGWLG
因此,您的CSS应该是:

.video-container {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%; 
  overflow: hidden;
}
.video-container video {
  /* Make video to at least 100% wide and tall */
  min-width: 100%; 
  min-height: 100%; 

  /* Setting width & height to auto prevents the browser from stretching or squishing the video */
  width: auto;
  height: auto;

  /* Center the video */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

于飞:

<div class="video-container">
  <video>
    <source src="~/Videos/myvideo.mp4" type="video/mp4" />
  </video>
</div>
at0kjp5o

at0kjp5o2#

您现在可以使用object-fit属性。这个属性是专门为管理<img><video>元素的响应大小而设计的。现在所有现代浏览器都支持它。

.videosize {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%; 
    height: 100%;
    object-fit: cover;
}
sd2nnvve

sd2nnvve3#

.video-container {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        object-fit: fill;
    }

    .video-container video {
        min-width: 100%;
        min-height: 100%;
        width: auto;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

这对我很有效。

thigvfpy

thigvfpy4#

我设置视频标签的高度,它解决了这个问题:

<video height="600" autoplay="true" loop="true" muted="true" plays-inline="" style="position: absolute; right: 0; top: 0; min-width:100%; z-index: -100; object-fit: cover;">
      <source src="assets/vid/grapes.mp4" type="video/mp4"> </video>
vybvopom

vybvopom5#

这一方法非常有效:https://css-tricks.com/fluid-width-video/

video {
    /* override other styles to make responsive */
    width: 100% !important;
    height: auto !important;
}
9bfwbjaz

9bfwbjaz6#

你能使用iframe吗?
第一个

ejk8hzay

ejk8hzay7#

使用对象拟合:我的解决办法是“掩盖”。
自2021年起,所有主流浏览器都支持它。object-fit support
CSS示例:

.video-wrapper {
    overflow: hidden;
    display: flex;
    align-items: center; 
    justify-content: center;
}

.video-wrapper video {
    object-fit: cover;
}
bqujaahr

bqujaahr8#

我知道这是一个老职位,但我想这可以帮助?
第一个

相关问题