CSS 背景图片

背景图片是CSS中用于为元素添加背景图像的属性,它可以使网页更加生动和美观。

基本语法

css
元素选择器 {
  background-image: url('图片路径');
}

图片路径的表示方法

background-image属性支持多种图片路径的表示方法:

1. 相对路径

相对于当前CSS文件的路径:

css
body {
  background-image: url('images/background.jpg');
}

2. 绝对路径

完整的URL路径:

css
body {
  background-image: url('https://example.com/images/background.jpg');
}

3. 数据URL

直接在CSS中嵌入图片数据:

css
.element {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==');
}

应用场景

1. 页面背景

为整个页面设置背景图片:

css
body {
  background-image: url('images/background.jpg');
}

2. 元素背景

为特定元素设置背景图片:

css
.header {
  background-image: url('images/header-bg.jpg');
}

.button {
  background-image: url('images/button-bg.png');
}

3. 图标使用

使用背景图片作为图标:

css
.icon {
  width: 24px;
  height: 24px;
  background-image: url('images/icons.png');
}

.icon-home {
  background-position: 0 0;
}

.icon-search {
  background-position: -24px 0;
}

背景图片与其他背景属性的结合

background-image通常与其他背景属性结合使用,以实现更丰富的效果:

1. 背景颜色

当背景图片加载失败或不足以覆盖元素时,背景颜色会显示出来:

css
body {
  background-color: #f5f5f5;
  background-image: url('images/background.jpg');
}

2. 背景重复

控制背景图片的重复方式:

css
body {
  background-image: url('images/background.jpg');
  background-repeat: no-repeat;
}

3. 背景位置

控制背景图片的位置:

css
body {
  background-image: url('images/background.jpg');
  background-position: center top;
}

4. 背景大小

控制背景图片的大小:

css
body {
  background-image: url('images/background.jpg');
  background-size: cover;
}

5. 背景附着

控制背景图片的滚动方式:

css
body {
  background-image: url('images/background.jpg');
  background-attachment: fixed;
}

多重背景图片

CSS3支持为一个元素设置多个背景图片,使用逗号分隔:

css
.element {
  background-image: 
    url('images/image1.png'),
    url('images/image2.png'),
    url('images/image3.png');
  background-position: 
    left top,
    center center,
    right bottom;
  background-repeat: 
    no-repeat,
    no-repeat,
    no-repeat;
}

注意:多个背景图片的叠加顺序是第一个图片在最上层,最后一个图片在最下层。

背景图片的性能优化

  1. 图片格式选择:根据图片内容选择合适的格式,如JPEG适合照片,PNG适合图标和透明图片,WebP格式具有更好的压缩率。

  2. 图片大小优化:使用图片编辑工具或在线服务压缩图片,减小文件大小。

  3. CSS精灵图:将多个小图标合并为一个大图片,减少HTTP请求次数。

  4. 懒加载:只在需要时才加载背景图片,减少初始加载时间。

浏览器兼容性

浏览器 支持情况
Chrome 完全支持
Firefox 完全支持
Safari 完全支持
Edge 完全支持
IE IE6及以上支持

多重背景图片在IE9及以下浏览器中不支持。

总结

background-image是CSS中用于设置元素背景图片的重要属性,它支持多种图片路径表示方法和丰富的组合效果。合理使用背景图片可以增强页面的视觉效果和用户体验,但需要注意性能优化和浏览器兼容性问题。

最后更新:2026-02-07