body { background: url(bg.jpg); } 導致圖片橫向重複平鋪,顯示一張半被截斷。
body {
background-image: url('bg.jpg');
background-size: cover; /* 關鍵:縮放填滿整個容器,保持比例 */
background-position: center; /* 居中顯示 */
background-repeat: no-repeat; /* 防止平鋪 */
background-attachment: fixed; /* 可選:視差滾動效果 */
min-height: 100vh; /* 確保 body 至少佔滿視口高度 */
}
| 值 | 效果 | 適用場景 |
|---|---|---|
| cover | 縮放至完全覆蓋容器,可能裁剪 | 全屏背景、Hero 區塊 |
| contain | 縮放至完整顯示在容器內,留白 | 圖片展示、Logo 背景 |
| 100% 100% | 強制拉伸填滿,變形 | 純色漸變、紋理圖案 |
| auto / 具體尺寸 | 原尺寸或指定尺寸 | 圖標、精靈圖 |
cover 裁剪。
3. 文件大小優化:WebP 格式、壓縮至 200-500KB,首屏加載 < 3s。
<img src="bg.jpg" class="bg-image" />
.bg-image {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
object-fit: cover; /* 同等於 background-size:cover */
z-index: -1;
}
使用 background-size: cover; background-position: center; background-repeat: no-repeat; 三連擊,配合設計師提供足夠分辨率圖片,即可實現全屏背景自適應無變形、無重複。