使用任何屏幕分辨率

时间:2016-04-30 01:32:11

标签: css asp.net-mvc html5 twitter-bootstrap

我有一个具有以下属性的视频,帧宽: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%,然后宽度调整,在两侧留下白色空间。

有什么想法吗?感谢。

6 个答案:

答案 0 :(得分:38)

在这里找到了一个很好的解决方案: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%);
}

HTML:

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

答案 1 :(得分:8)

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

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

答案 2 :(得分:0)

你能使用iframe吗?

/* Flexible iFrame */
 
.flexible-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
 
.flexible-container iframe,   
.flexible-container object,  
.flexible-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
<!-- Responsive iFrame -->
<div class="flexible-container">
<iframe src="URL" frameborder="0" style="border:0"></iframe>
</div>

答案 3 :(得分:0)

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

<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>

答案 4 :(得分:0)

d = df.groupby("col2").agg({"col1":"sum"}).reset_index(level=0)

d['col1'] = d['col1'].apply(set).str.join(',')
print(d)

这对我有用。

答案 5 :(得分:0)

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

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