id选择器中background-image不生效,主因是路径错误(需相对于CSS文件位置)、未加引号、图片不存在、元素无宽高、被内联样式覆盖或未设置background-size/repeat等。

id选择器里 background-image 不生效?先看路径和引号
直接写 #header { background-image: url(logo.png); } 很可能没反应——不是语法错,是路径或引号惹的祸。
- 路径必须相对于 CSS 文件位置,不是 html 文件位置;如果 CSS 在
/Static/css/style.css,而图片在/static/img/bg.jpg,就得写url(../img/bg.jpg) -
url()里的路径**必须加引号**(单/双均可),尤其含空格或特殊字符时:url("bg header.jpg"),不加引号在部分浏览器会静默失败 - 确保图片文件真实存在且服务器可访问;用浏览器开发者工具的 Network 标签页查
404请求,比猜快得多
background-size 和 background-repeat 必须手动设
默认情况下,背景图会平铺(repeat)且不缩放(auto),常导致只显示左上角一小块或密密麻麻重复。
- 想铺满整个元素:加
background-size: cover;或contain,再配background-repeat: no-repeat; - 想居中显示:补
background-position: center;,否则默认从左上角开始贴 - 简写更稳:
background: url("../img/hero.jpg") no-repeat center / cover;—— 这一行顶五句,顺序不能乱
id 选择器优先级高,但会被内联 style 覆盖
如果 HTML 里写了