zoukankan      html  css  js  c++  java
  • video 适配通屏展示、针对不同分辨率 禁止变形处理

    CSS object-fit 属性

    object-fit: fill|contain|cover|scale-down|none|initial|inherit;

    样式上

     video{

      height:100%;

      100%

    }

    需求:

      1、视频需要通屏展示,去掉上下黑边 

    object-fit:cover; fill  需要考虑的,视频比例是否引起拉伸变形,解决如下~~~


    第一种:通过样式,可以参考获取视频宽高,实际视频宽没问题,缺点:高上下不通

    <view class="video">
           <video object-fit="" style="height:{{height}}px; {{width}}px;"
                src="" 
                bindloadedmetadata="videometa" 
                binderror="videoErrorCallback" 
            ></video>
    </view>
    

      

    videometa:function (e) {
        var that = this;
        //获取系统信息
        wx.getSystemInfo({
          success (res) {
            //视频的高
            var height = e.detail.height;
            
            //视频的宽
            var width = e.detail.width;
     
            //算出视频的比例
            var proportion = height / width;
     
            //res.windowWidth为手机屏幕的宽。
            var windowWidth = res.windowWidth;
     
            //算出当前宽度下高度的数值
            height = proportion * windowWidth;
            that.setData({
              height,
              windowWidth
            });
          }
        })
      },
    

      

    第二种方法:动态切换 object-fit:cover  |  contain 属性值

    监听视频方法: metadata 获取视频宽与高,算出视频的比例  var proportion = height / width;

     

    if(proportion  > 1.3){

      type='cover'

    }else{

      type='contain'

    }

    这样大部分视频 都会满足需求,切图参考:根据不同的视频比例使用不同的属性

    图1,比例1

    图2:同屏

     

    有更好的方案请留言。。。

    属性值

    描述尝试一下
    fill 默认,不保证保持原有的比例,内容拉伸填充整个内容容器。 尝试一下 »
    contain 保持原有尺寸比例。内容被缩放。 尝试一下 »
    cover 保持原有尺寸比例。但部分内容可能被剪切。 尝试一下 »
    none 保留原有元素内容的长度和宽度,也就是说内容不会被重置。 尝试一下 »
    scale-down 保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。 尝试一下 »
    initial 设置为默认值,关于 initial  
    inherit 从该元素的父元素继承属性。 关于 inherit
  • 相关阅读:
    如何更改Web Service部署生成的App_Code.dll的名称
    Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器
    驗證類javascript
    多线程下WinForm开发应该注意哪些问题?
    把表从Access2007导出到Sql Server
    面向对象模型的四种核心技术
    ASP常用代碼二
    熊猫烧香代码
    简繁体互转代码
    上班人员必读:“五险一金”详解!
  • 原文地址:https://www.cnblogs.com/congxueda/p/15091316.html
Copyright © 2011-2022 走看看