Is it possible to have a HTML5 in an absolutely positioned <video> element that resizes to the window width and height so that nothing is ever cropped? Lots of the solutions I've seen seem to rely on the <iframe> tag, which I don't have, or only resize based on width (which I can already do).
Basically I'm looking for a way to ensure the video is as big as it can be, but also never get cropped if the window is resized -- even in IE9. (Note: I the video has to retain its ratio -- so it's OK if there's black bars.)
This is what I have tried so far.
/*CSS*/    #player-overlay {    position: absolute;    display: none;    top: 0;    left: 0;    width: 100%;    height: 100%;    background-color: #000              z-index:999;  }  <!--HTML-->    <div id="player-overlay">    <video width="100%" video="100%" style="width:100%, height:100%">      <source src="../static/video/10s.mp4" />      <source src="../static/video/10s.webm" type='video/webm; codecs="vp8, vorbis"' />      <source src="../static/video/10s.ogv" type='video/ogg; codecs="theora, vorbis"' />    </video>      </div>  It seems to me that I'm going to have try and write a JS solution instead.
To make an HTML5 video responsive is a little more complex than an image. We can’t just make it mobile-friendly by just adding max-width:100% There are few other things that need to tackle to make it work well on small devices. To scale the Iframe embed or HTML5 video, Both need a different technique to handle their responsiveness.
If the width property is set to 100%, the video player will be responsive and scale up and down: Notice that in the example above, the video player can be scaled up to be larger than its original size.
Basically, when you add a video on your website using HTM5 <video> tag, It will not get in proper size on mobile devices. To make it resize on mobile (Responsive), We need to play with CSS.
If you view the HTML in a browser the video should start playing at its native resolution. To achieve the fullscreen background video we just need to add the following CSS: This sets the width and height of the video to 100% of the viewport and by applying a negative z-index we ensure other elements in the page will display over the video.
Use width and max-height on the <video> element:
/*CSS*/   video {    width: 100%;    max-height: 100%;  }  <!-- HTML -->    <div id="player-overlay">    <video>      <source src="../static/video/10s.mp4" />      <source src="../static/video/10s.webm" type='video/webm; codecs="vp8, vorbis"' />      <source src="../static/video/10s.ogv" type='video/ogg; codecs="theora, vorbis"' />    </video>      </div>  http://jsfiddle.net/fHG69/
Also, you're missing a semicolon after background-color.  When absolutely positioning an element to fill the screen, I prefer to set top, bottom, left, and right instead of setting height and width.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With