如何設定等同於 background-size 屬性“cover”值的 img 標籤效果?
在網頁設計中建立響應式影像時,一個常見的要求是使影像填充整個容器同時保持其縱橫比。傳統上,`background-size: cover;` CSS 屬性用於背景影像以實現此效果。但是,對於內聯影像(使用`<img>`標籤),可以使用 `object-fit` 屬性採用不同的方法。本文將引導您在``標籤上設定此等效效果,並比較使用`
`元素和背景影像。
方法
使用帶有標籤的 object-fit: cover
`object-fit` CSS 屬性用於控制內容如何填充容器。在``標籤上使用`object-fit: cover;`可以實現與背景影像的`background-size: cover`相同的效果,確保影像填充容器並保持其縱橫比。
示例程式碼
在以下示例中,我們設定影像以佔據全視口寬度和高度。我們使用 `object-fit: cover` 來確保影像填充整個容器同時保持其縱橫比。
<!DOCTYPE html> <html> <head> <title>Using object-fit for Cover Effect</title> <style> body { margin: 0; } img { display: block; width: 100vw; height: 100vh; object-fit: cover; } </style> </head> <body> <img src= "https://tutorialspoint.tw/static/images/hero.png" alt="Cover Image Example" /> </body> </html>
輸出
使用背景影像作為替代方案
在某些情況下,您可能更傾向於使用背景影像而不是內聯``標籤。當影像純粹是裝飾性的或不需要作為文件內容結構的一部分時,這很常見。以下是如何使用`背景影像`和`background-size: cover;`實現類似效果。
示例程式碼
在此示例中,我們使用``元素作為佔位符,但在 CSS 中將實際影像設定為背景影像。我們還使用填充來控制影像容器的大小。
<!DOCTYPE html> <html> <head> <title>Background-size Cover Example</title> <style> body { margin: 0; } .background-img { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: url( 'https://tutorialspoint.tw/static/images/hero.png') no-repeat center center; background-size: cover; } </style> </head> <body> <div class="background-img"></div> </body> </html>
輸出
廣告