CSS object-fit 属性

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

样式上

video{

height:100%;

width:100%

}

需求:

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

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

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

  1. <view class="video">
  2. <video object-fit="" style="height:{{height}}px; width:{{width}}px;"
  3. src=""
  4. bindloadedmetadata="videometa"
  5. binderror="videoErrorCallback"
  6. ></video>
  7. </view>

  

  1. videometa:function (e) {
  2. var that = this;
  3. //获取系统信息
  4. wx.getSystemInfo({
  5. success (res) {
  6. //视频的高
  7. var height = e.detail.height;
  8.  
  9. //视频的宽
  10. var width = e.detail.width;
  11.  
  12. //算出视频的比例
  13. var proportion = height / width;
  14.  
  15. //res.windowWidth为手机屏幕的宽。
  16. var windowWidth = res.windowWidth;
  17.  
  18. //算出当前宽度下高度的数值
  19. height = proportion * windowWidth;
  20. that.setData({
  21. height,
  22. width:windowWidth
  23. });
  24. }
  25. })
  26. },

  

第二种方法:动态切换 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

video 适配通屏展示、针对不同分辨率 禁止变形处理的更多相关文章

  1. Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi

    Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...

  2. 移动端适配video适配

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 【翻译】Best Practices for User interface android 适配不同屏幕、不同分辨率

    地址:http://developer.android.com/training/multiscreen/screendensities.html#TaskProvideAltBmp 安卓支持不同的屏 ...

  4. ios下app内嵌h5页面是video适配问题

    ios下做新闻详情用h5页面实现然后打包到app中,其中新闻详情页会有视频,安卓下video的poster可以做到适应video大小,但是ios下会按照poster图片大小将video等比撑大,但是视 ...

  5. UI设计师给的px尺寸单位,安卓如何换算成dp?

    很多UI工程师为了适配IOS,常常拿IOS手机作用参考模型,设计出来的UI稿只有PX标注的.他们也不懂Android的dp和sp单位是怎么回事.这个时候我们Android工程师如果不注意怎么转换的话, ...

  6. 移动端H5页面高清多屏适配方案

    背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范 ...

  7. webapp:移动端高清、多屏适配方案(zz)

    来源: http://sentsin.com/web/1212.html 移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉 ...

  8. 解惑好文:移动端H5页面高清多屏适配方案 (转)

    转自:http://mobile.51cto.com/web-484304.htm https://github.com/amfe/lib-flexible/blob/master/src/makeg ...

  9. 移动端高清、多屏适配方案 [来源:http://div.io/topic/1092]

    Lovesueee 发布于 8 月前 移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视 ...

随机推荐

  1. linux(1)------vmvear虚拟机安装linux

    1.VMvare14(个人下载,软件付费,自行解决) 2.CentOS下载           https://www.centos.org/download/    官方网址,后期会跳转本地镜像站 ...

  2. 何时覆盖hashCode()和equals()方法

    The theory (for the language lawyers and the mathematically inclined): equals() (javadoc) must defin ...

  3. Linux中增加组和用户

    新服务器增加用户: 1.创建一个新的组, groupadd oracle 2.useradd 命令用于建立用户账号(-g 指定用户所属的群组) useradd -g oracle oracle 3.再 ...

  4. 刷题-力扣-230. 二叉搜索树中第K小的元素

    230. 二叉搜索树中第K小的元素 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/kth-smallest-element-in-a ...

  5. redis集群访问,重启,关闭,带密码访问集群

    安装ruby后查找如下文件  vi  进去后编辑 此处编写自己的密码,重启后便可带密码访问集群 随便选择一个节点输入如下指令查看集群信息 正常关闭redis命令如下: 重启redis集群再次以相同的命 ...

  6. 一个简单的 aiax请求例子

    <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...

  7. pytorch 测试 迁移学习

    训练源码: 源码仓库:https://github.com/pytorch/tutorials 迁移学习测试代码:tutorials/beginner_source/transfer_learning ...

  8. ES6中函数调用自身需要注意的问题

    在传统的递归调用中,可以采用如下方式 function sum(n) { return sum(n - 1) + n;} 但如今es6盛行,为了保持代码一致性,可以采用两种解决方式. 第一种,将thi ...

  9. WAMP 2.5 无法访问局域网的解决方法

    打开Apache配置文件 httpd.conf  (该文件在wamp\bin\apache\apache2.4.9\conf) DocumentRoot "d:/wamp/www/" ...

  10. VMware安装IPFire防火墙镜像

    之后便可以通过WEB登录到管理页面(admin账号,密码是在上面配置的) 详细可参考:https://www.mobibrw.com/2016/4900