在使用video標籤的時候,不少時候咱們並不想去使用默認的16:9的顯示比列,而自定義的寬和高顯示出來後,又老是被默認比列所影響,那麼如何解決呢? 其實想要video能自動填充慢父div的大小,只要給video標籤加上 style="width= 100%; height=100%; object-fit: fill" 便可。 這是我同事原本的代碼:不管寬高如何變化,video標籤老是會受到固定比例額影響,而不能達到預期效果! <div class="btn" style="width:244px;height:300px; overflowhidden"> <video id="video" style="width:100%;height:100%;></video> </div>
頁面顯示出來後,老是會有一部分的留白區域,而不能鋪滿整個父盒子,嘗試了不少方法都不行,也看到了一些帖子,說的都不是很詳細,直到後來去查了object-fit的用法纔算解決了問題;具體代碼以下:ide
<div class="btn" style="width:244px;height:300px; overflowhidden"> <video id="video" style="width:100%;height:100%;object-fit:fill"></video> </div>
如此問題就解決掉了,那麼這個object-fit有何特色呢?svg
1.object-fit語法
object-fit屬性的語法很是的簡單:code
<code class="cs" style="font-family: 'Microsoft YaHei'; padding: 0px;"> object-fit:fill | contain | cover | none | scale-down </code>
2:object-fit取值說明對象
object-fit主要適合於替換元素,好比:<video>、<object>、<img>、<input type="image">、<svg>、<svg:image>和<svg:video>等。其默認值爲fill。object-fill取值的說明以下:
fill:此值爲boject-fit的默認值,替換內容的大小被設置爲填充元素的內容框,也就是說,元素的內容擴大到徹底填充容器的外形尺寸,即便這打破其內在的寬高比。
contain:替換元素內容大小保持長寬比例填充元素內容容器,其具體對象大小被解析爲一個包含元素的寬度和高度。也就是說,若是你在替換元素上設置一個明確的高度和寬度,此值將致使內容大小,徹底在固定的比例顯示,但仍在元素尺寸內顯示。
cover:替換元素內容大小保持長寬比例填充元素內容容器,其具體對象大小被解析爲覆蓋整個元素的寬度和高度。也就是說,替換元素內容大小保持長寬比,但改變寬度和高度,以便徹底覆蓋內容元素。
none:替換元素內容不調整大小以適應內部元素的容器,內容徹底忽略設置在元素上的任何高度和權重,而且仍在元素尺寸內顯示。
scale-down:當內容大小設置了non或contain,將致使具體對象變得更小。input