美文网首页
使用css3 object-fit属性让修改video显示比例。

使用css3 object-fit属性让修改video显示比例。

作者: _Lsuyan_ | 来源:发表于2018-08-22 15:34 被阅读435次

    在使用video标签的时候,很多时候我们并不想去使用默认的16:9的显示比列,而自定义的宽和高显示出来后,又总是被默认比列所影响。

    那么如何解决呢?

    其实想要video能自动填充慢父div的大小,只要给video标签加上 style="width= 100%; height=100%; object-fit: fill"即可。

    当然了,前面也说了是修改了video原本的显示比例,这种强制铺满可能会导致视频的变形。

    <div class="test" style="width:200px;height:300px;overflow:hidden;">
        <video id="video" style="width:100%;height:100%;object-fit:fill"></video>
    </div>
    

    那么这个object-fit有何特点呢?

    object-fit取值说明:
    object-fit主要适合于替换元素,比如:
    <video>、<object>、<img>、<input type="image">、<svg>、<svg:image>和<svg:video>等。
    其默认值为fill。
    
    1. fill:此值为boject-fit的默认值,替换内容的大小被设置为填充元素的内容框,也就是说,元素的内容扩大到完全填充容器的外形尺寸,即使这打破其内在的宽高比。
    2. contain:替换元素内容大小保持长宽比例填充元素内容容器,其具体对象大小被解析为一个包含元素的宽度和高度。也就是说,如果你在替换元素上设置一个明确的高度和宽度,此值将导致内容大小,完全在固定的比例显示,但仍在元素尺寸内显示。
    3. cover:替换元素内容大小保持长宽比例填充元素内容容器,其具体对象大小被解析为覆盖整个元素的宽度和高度。也就是说,替换元素内容大小保持长宽比,但改变宽度和高度,以便完全覆盖内容元素。
    4. none:替换元素内容不调整大小以适应内部元素的容器,内容完全忽略设置在元素上的任何高度和权重,并且仍在元素尺寸内显示。
    5. scale-down:当内容大小设置了non或contain,将导致具体对象变得更小。

    再来看看这个属性的兼容性!

    caniuse

    Oh!shit!shit!shit!shit!万恶的IE,K.O!
    如果不考虑IE的话,可以尝试一下使用这个简单粗暴的属性。
    反正我这次开发就不考虑IE,也没这个需求,就直接用呗,何必为难自己呢。哈哈哈~

    参考原文地址

    对了,鑫大大有对这个属性更深入的探讨,主要讲解了该属性在图片方面的运用。
    感兴趣的同学请走传送门,咻咻咻。。

    半深入理解CSS3 object-position/object-fit属性

    相关文章

      网友评论

          本文标题:使用css3 object-fit属性让修改video显示比例。

          本文链接:https://www.haomeiwen.com/subject/dflyiftx.html