css如何實現一個元素高度固定寬度按比例顯示?
阿新 • • 發佈:2018-11-27
用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;居中顯示,成功解決!