要让背景图片铺满整个页面,需设置html和body高度为100%、清除默认margin和padding,并将background: url('xxx.jpg') no-repeat center center / cover应用在body或固定定位全屏容器上。
要让背景图片铺满整个页面,关键是用 background-size: cover,但光写这一句还不
够——必须确保父容器(通常是 html 和 body)高度撑满视口,且背景图应用在正确元素上。
浏览器默认 body 高度由内容决定,不会自动占满屏幕。若背景设在 body 上,却没给它足够高度,cover 就无法按视口铺满。
html 和 body 同时设置 height: 100%
margin: 0; padding: 0;
推荐直接设在 body,简洁高效;如果页面结构复杂(比如有固定头部),可另建一个 并设为 position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1;。
background: url('xxx.jpg') no-repeat center center / cover;
center center 让图片居中对齐,/ cover 是 background-size: cover 的简写形式background-image,否则其他背景相关属性(如重复、定位)会沿用浏览器默认值cover 的原理是“等比缩放图片,直到完全覆盖容器”,所以一定会填满,但也一定会裁剪——短边超出部分被隐藏。如果原图太窄或太扁,可能关键内容被切掉。
background-color: #000; 看是否真铺满,排除透明或加载失败干扰background-size: cover 在所有现代浏览器包括 IE9+ 都支持,基本无需前缀。若需支持 IE8 及更早版本,只能用 JavaScript 模拟(不推荐),或改用纯色/渐变做后备。
background-color: #2c3e50;(深蓝)防止图片加载失败时白屏@media 对小屏幕换一张竖构图的图,提升移动端显示效果