前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >css如何实现一个元素高度固定宽度按比例显示?

css如何实现一个元素高度固定宽度按比例显示?

作者头像
蓓蕾心晴
发布2018-12-19 16:39:38
1.8K0
发布2018-12-19 16:39:38
举报
文章被收录于专栏:前端小叙前端小叙

用padding-top百分比可以实现宽度固定高度按比例展示,现在的需求是对一个video视频的盒子div高度是固定的,宽度如何按比例展示?

解决后效果如图:

红框标注的即是我在上面高度比例固定的范围内宽度自适应的效果;

css代码:

代码语言:javascript
复制
.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:

代码语言:javascript
复制
 <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;居中显示,成功解决!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档