首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

HTML 背景圖片自適應:background-size:cover 實現全屏鋪滿不變形

     編輯:程式設計疑難解答

問題現象

body { background: url(bg.jpg); } 導致圖片橫向重複平鋪,顯示一張半被截斷。

解決方案:CSS3 background-size


body {
    background-image: url('bg.jpg');
    background-size: cover;      /* 關鍵:縮放填滿整個容器,保持比例 */
    background-position: center; /* 居中顯示 */
    background-repeat: no-repeat; /* 防止平鋪 */
    background-attachment: fixed; /* 可選:視差滾動效果 */
    min-height: 100vh;           /* 確保 body 至少佔滿視口高度 */
}

background-size 取值對比

值效果適用場景
cover縮放至完全覆蓋容器,可能裁剪全屏背景、Hero 區塊
contain縮放至完整顯示在容器內,留白圖片展示、Logo 背景
100% 100%強制拉伸填滿,變形純色漸變、紋理圖案
auto / 具體尺寸原尺寸或指定尺寸圖標、精靈圖

設計師協作建議

  1. 背景圖分辨率 ≥ 1920×1080(主流屏幕),建議 2560×1440 或 3840×2160。
  2. 2. 圖片主體內容置中,邊緣留白/可裁剪區域,適配 cover 裁剪。 3. 文件大小優化:WebP 格式、壓縮至 200-500KB,首屏加載 < 3s。

備選方案:img 標簽 + 定位


<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; 三連擊,配合設計師提供足夠分辨率圖片,即可實現全屏背景自適應無變形、無重複。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved