1. 程式人生 > >css如何實現一個元素高度固定寬度按比例顯示?

css如何實現一個元素高度固定寬度按比例顯示?

用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;居中顯示,成功解決!