HTML CSS backgroundImage 背景图片的格式设置和重复属性
在网页设计中,背景图片是提升视觉效果的重要元素。通过 CSS 的 background-image 属性,我们可以轻松地为 HTML 元素设置背景图片。本文将详细介绍背景图片的格式设置、重复属性以及其他相关属性的使用方法。

一、background-image 基础用法
background-image 属性用于为元素设置背景图片,其基本语法如下:
selector {
background-image: url('image-path');
}其中,url() 函数用于指定图片的路径。路径可以是相对路径或绝对路径。例如:
/* 相对路径 */
div {
background-image: url('../images/bg.jpg');
}
/* 绝对路径 */
body {
background-image: url('https://www.ipipp.com/images/bg.png');
}二、背景图片的格式选择
常见的背景图片格式有 JPEG、PNG、GIF 和 WebP 等,每种格式都有其特点和适用场景:
JPEG:适合存储照片和色彩丰富的图像,不支持透明背景,文件体积相对较小。
PNG:支持透明背景,适合存储图标、Logo 等需要透明效果的图像,但文件体积相对较大。
GIF:支持动画和透明背景,适合简单的动画效果,颜色数量有限。
WebP:Google 推出的新型图片格式,具有更好的压缩率,支持透明和动画,是现代网页的首选格式之一。
在选择背景图片格式时,应根据实际需求进行权衡。例如,对于需要透明背景的图标,可选择 PNG 或 WebP 格式;对于照片类的背景图片,JPEG 或 WebP 格式更为合适。
三、背景图片的重复属性
默认情况下,背景图片会在元素的水平和垂直方向上重复显示,直到填满整个元素。我们可以使用 background-repeat 属性来控制背景图片的重复方式。
1. background-repeat 的取值
repeat:默认值,背景图片在水平和垂直方向上都重复。
repeat-x:背景图片只在水平方向上重复。
repeat-y:背景图片只在垂直方向上重复。
no-repeat:背景图片不重复,只显示一次。
space:背景图片在水平和垂直方向上均匀排列,不会裁剪图片,图片之间的间距相等。
round:背景图片在水平和垂直方向上均匀缩放,以适应元素的尺寸,不会留下空白区域。
2. 示例代码
/* 不重复 */
.no-repeat {
background-image: url('bg.jpg');
background-repeat: no-repeat;
}
/* 水平重复 */
.repeat-x {
background-image: url('bg.jpg');
background-repeat: repeat-x;
}
/* 垂直重复 */
.repeat-y {
background-image: url('bg.jpg');
background-repeat: repeat-y;
}
/* 均匀排列 */
.space {
background-image: url('bg.jpg');
background-repeat: space;
}
/* 均匀缩放 */
.round {
background-image: url('bg.jpg');
background-repeat: round;
}四、其他相关属性
1. background-size
background-size 属性用于设置背景图片的尺寸,常用取值如下:
auto:默认值,保持图片的原始尺寸。
cover:将背景图片等比例缩放,使其完全覆盖元素,可能会裁剪图片的一部分。
contain:将背景图片等比例缩放,使其完全显示在元素内,可能会留有空白区域。
长度值或百分比:直接指定背景图片的宽度和高度,如 100px 200px 或 50% 50%。
.cover {
background-image: url('bg.jpg');
background-size: cover;
}
.contain {
background-image: url('bg.jpg');
background-size: contain;
}
.size-auto {
background-image: url('bg.jpg');
background-size: auto;
}
.size-custom {
background-image: url('bg.jpg');
background-size: 100px 200px;
}2. background-position
background-position 属性用于设置背景图片的位置,常用取值如下:
关键字:如 left top、center center、right bottom 等。
长度值或百分比:如 10px 20px 或 50% 50%。
.position-left-top {
background-image: url('bg.jpg');
background-position: left top;
}
.position-center {
background-image: url('bg.jpg');
background-position: center center;
}
.position-right-bottom {
background-image: url('bg.jpg');
background-position: right bottom;
}
.position-custom {
background-image: url('bg.jpg');
background-position: 10px 20px;
}3. background-attachment
background-attachment 属性用于设置背景图片的滚动方式,常用取值如下:
scroll:默认值,背景图片随页面滚动而滚动。
fixed:背景图片固定在视口中,不随页面滚动而滚动。
local:背景图片随元素内容的滚动而滚动。
.scroll {
background-image: url('bg.jpg');
background-attachment: scroll;
}
.fixed {
background-image: url('bg.jpg');
background-attachment: fixed;
}
.local {
background-image: url('bg.jpg');
background-attachment: local;
}五、简写属性
为了简化代码,CSS 提供了 background 简写属性,可以同时设置多个背景相关的属性。其语法如下:
selector {
background: [background-color] [background-image] [background-repeat] [background-attachment] [background-position] / [background-size];
}注意:background-size 属性需要使用 / 与 background-position 分隔。
.example {
/* 顺序可以调整,但建议按照上述顺序书写 */
background: #f00 url('bg.jpg') no-repeat fixed center / cover;
}六、实际应用示例
下面是一个综合应用背景图片属性的示例:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>背景图片示例</title>
<style>
.container {
width: 800px;
height: 600px;
margin: 0 auto;
border: 1px solid #ccc;
background: #fff url('https://www.ipipp.com/images/bg.jpg') no-repeat fixed center / cover;
}
</style>
</head>
<body>
<div class="container">
<!-- 内容 -->
</div>
</body>
</html>在这个示例中,我们创建了一个容器元素,设置了白色背景色、背景图片、不重复、固定定位、居中显示以及覆盖整个容器的背景图片尺寸。
七、总结
通过本文的介绍,我们了解了 CSS 中 background-image 属性的基础用法、背景图片的格式选择、重复属性以及其他相关属性的设置方法。合理运用这些属性,可以为网页设计出美观、独特的背景效果。在实际开发中,应根据具体需求选择合适的属性和取值,以达到最佳的视觉效果。