CSS object-fit 屬性
- 上一頁 CSS 圖像樣式
- 下一頁 CSS object-position
CSS object-fit
屬性用于規定應如何調整 <img> 或 <video> 的大小來適應其容器。
瀏覽器支持
表格中的數字注明了完全支持該屬性的首個瀏覽器版本。
屬性 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
object-fit | 31.0 | 16.0 | 36.0 | 7.1 | 19.0 |
CSS object-fit 屬性
CSS object-fit
屬性用于指定應如何調整 <img> 或 <video> 的大小以適合其容器。
這個屬性告訴內容以不同的方式填充容器。比如“保留長寬比”或者“展開并占用盡可能多的空間”。
請看下面來自上海鮮花港的郁金香圖片,它是 300x300 像素:

但是,如果我們把上面的圖像設置為 200x300 像素,則它會看起來像這樣:

實例
img { width: 200px; height: 300px; }
我們看到圖像被壓縮以適合 200x300 像素的容器,并且原始寬高比被破壞了。
如果我們使用 object-fit: cover;
,它會剪切圖像的側面,保留長寬比,并填充空間,如下所示:

實例
img { width: 200px; height: 400px; object-fit: cover; }
另一個實例
在這里,我們有兩幅圖像,我們希望它們填充瀏覽器窗口的 50% 的寬度和 100% 的高度。
在下面的例子中,我們不使用 object-fit
,因此,當我們調整瀏覽器窗口的大小時,圖像的長寬比將被破壞:
實例
在下一個例子中,我們使用 object-fit: cover;
,因此,當我們調整瀏覽器窗口的大小時,將保留圖像的長寬比:
實例
CSS object-fit 屬性的所有值
object-fit
屬性可接受如下值:
fill
- 默認值。調整替換后的內容大小,以填充元素的內容框。如有必要,將拉伸或擠壓物體以適應該對象。contain
- 縮放替換后的內容以保持其縱橫比,同時將其放入元素的內容框。cover
- 調整替換內容的大小,以在填充元素的整個內容框時保持其長寬比。該對象將被裁剪以適應。none
- 不對替換的內容調整大小。scale-down
- 調整內容大小就像沒有指定內容或包含內容一樣(將導致較小的具體對象尺寸)
下面的例子演示了 object-fit
屬性的所有可能值:
實例
fill {object-fit: fill;} contain {object-fit: contain;} cover {object-fit: cover;} scale-down {object-fit: scale-down;} none {object-fit: none;}
- 上一頁 CSS 圖像樣式
- 下一頁 CSS object-position