Css background video

前端 未结 4 1594
梦谈多话
梦谈多话 2020-12-28 10:43

Does someone know how to center this video background?

I tried:

margin: 0 auto;
text-align: center;

So far but none of these worked

相关标签:
4条回答
  • 2020-12-28 11:04

    Since you are using an HTML5 element the best way to center content is to put it in a relative container and then let CSS handle the rest like this:

    <div id="Container">
        <video></video>
        <div></div>
    </div>
    
    body, html {
        height: 100%;
    }
    
    #Container {
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
    }
    
    #Container video {
        position: absolute;
        left: 50%;
        top: 50%;
        /* The following will size the video to fit the full container. Not necessary, just nice.*/
        min-width: 100%;
        min-height: 100%;
        -webkit-transform: translate(-50%,-50%);
        -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        z-index: 0;
    }
    
    #Container div {
        position: relative;
        z-index: 1;
    }
    

    You can replace <video> by any element you want to center, of course. Because you are using the video element I'm ignoring older browsers as I guess they won't like your page anyway. You also don't have to use the min- values, and it would just center.

    0 讨论(0)
  • 2020-12-28 11:13
       .name-class {
        background: url(../images/tv-temp.png) no-repeat;
        background-position: center;
        height: 686px;
        position: fixed;
        top: 100px;
        right: 0;
        bottom: 0;
        left: 0;
        overflow: hidden;
        z-index: -100;
        }
        .name-class video {
        height: 473px;
        position: absolute;
        top: 148px;
        left: 3px;
        width: 100%;
        }
    <div class="name-class">
    <video controls playsinline="" loop="" autoplay="">
    <source src="..\video-name.mp4" type="video/mp4" autostart="true">
    
    </video>
    </div>
    
    0 讨论(0)
  • 2020-12-28 11:15

    Working example with object-fit: cover; More about it here https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit

    * {
      box-sizing: border-box;
    }
    
    body {
      margin: 0;
      padding: 0;
    }
    
    .videobg {
      height: 100vh;
      overflow: hidden;
      position: relative; /* requires for to position video properly */
    }
    
    video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
      object-fit: cover; /* combined with 'absolute', works like background-size, but for DOM elements */
    }
    <div class="videobg">
      <video autoplay loop muted>
        <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.webm" type="video/webm">
        <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4">
      </video>
    </div>

    0 讨论(0)
  • 2020-12-28 11:23

    In modern browsers, you can manipulate object-fit and do this without the container.

    video.bg {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -100;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    
    0 讨论(0)
提交回复
热议问题