用padding-top百分比可以實現寬度固定高度按比例展示,現在的需求是對一個video視頻的盒子div高度是固定的,寬度如何按比例展示? 解決後效果如圖: 紅框標註的即是我在上面高度比例固定的範圍內寬度自適應的效果; css代碼: html: 由於視頻是有寬高比的,這裡給視頻的高度直接是外面盒子 ...
用padding-top百分比可以實現寬度固定高度按比例展示,現在的需求是對一個video視頻的盒子div高度是固定的,寬度如何按比例展示?
解決後效果如圖:
紅框標註的即是我在上面高度比例固定的範圍內寬度自適應的效果;
css代碼:
.content { margin: 0 auto; height: 79vh; .video_box { position: relative; height: 100%; overflow: hidden; margin: 0 auto; width: 79vh*1.778; max-width: 100vw; .ad_pic { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(6.jpg) no-repeat center; background-size: 100% 100%; img { width: 100%; height: 100%; } .btn_play { display: inline-block; .width(50); .height(50); position: absolute;; left: 50%; top: 50%; .margin-left(-25); .margin-top(-25); background: url(../../public/img/icon_play.png) no-repeat center; background-size: 100% 100%; } } iframe, object, embed, video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .video_card { position: absolute; top: 0; left: 0; width: 2px; height: 1px; } } }
html:
<div class="content"> <div class="video_box"> <div class="ad_pic"> <span class="btn_play"></span> </div> <video id="ad_video" autobuffer src="a.mp4" autoplay preload controls="" loop poster="6.jpg" webkit-playsinline="true" playsinline="true" x-webkit-airplay="allow" x5-playsinline x5-video-player-type="h5" x5-video-player-fullscreen="true" x5-video-orientation="portrait" > </video> </div> </div>
由於視頻是有寬高比的,這裡給視頻的高度直接是外面盒子的高度*比例,就等於視頻的寬,為了防止視頻過寬超出屏幕,這裡加一個max-width:100vw;限制一下,然後通過margin:0 auto;居中顯示,成功解決!