一、核心背景属性
1. background-color
(背景颜色)
div {
background-color: #3498db; /* 十六进制 */
background-color: rgb(52, 152, 219); /* RGB */
background-color: rgba(52, 152, 219, 0.7); /* 带透明度 */
background-color: transparent; /* 透明 */
}
作用:设置元素背景颜色
技巧:使用RGBA实现半透明效果
2. background-image
(背景图片)
div {
background-image: url("image.jpg"); /* 图片路径 */
background-image: linear-gradient(to right, red, yellow); /* 渐变背景 */
}
作用:设置背景图片或渐变
注意:
默认会平铺重复
可同时使用多个背景(逗号分隔):
background-image:
url("layer1.png"),
url("layer2.png");
3. background-repeat
(重复方式)
div {
background-repeat: repeat; /* 默认,双向重复 */
background-repeat: repeat-x; /* 仅水平重复 */
background-repeat: repeat-y; /* 仅垂直重复 */
background-repeat: no-repeat; /* 不重复 */
background-repeat: space; /* 等间距重复 */
}
应用场景:控制背景图案的重复行为
4. background-position
(定位)
div {
/* 关键字用法 */
background-position: top left;
/* 坐标值 */
background-position: 20px 50%; /* 水平20px 垂直50% */
/* 四值语法(边缘偏移) */
background-position: right 10px bottom 20px;
}
作用:控制背景图像的起始位置
坐标系:左上角为 (0,0)
技巧:center center
实现完美居中
5. background-size
(尺寸控制)
div {
background-size: cover; /* 覆盖整个区域(可能裁剪) */
background-size: contain; /* 完整显示(可能留白) */
background-size: 100% 80%; /* 自定义宽高 */
background-size: auto 120px; /* 高度固定,宽度自适应 */
}
响应式技巧:cover
常用于全屏背景
6. background-attachment
(滚动行为)
div {
background-attachment: scroll; /* 默认,随内容滚动 */
background-attachment: fixed; /* 固定于视口(视差效果) */
background-attachment: local; /* 随元素内容滚动 */
}
经典案例:fixed
用于创建视觉差滚动效果
二、高级属性
7. background-origin
(定位基准)
div {
background-origin: padding-box; /* 默认,相对于内边距 */
background-origin: border-box; /* 相对于边框 */
background-origin: content-box; /* 相对于内容框 */
}
8. background-clip
(绘制区域)
div {
background-clip: border-box; /* 默认,绘制到边框 */
background-clip: padding-box; /* 绘制到内边距 */
background-clip: content-box; /* 仅绘制到内容区 */
}
特效应用:配合透明边框实现特殊裁剪效果
三、简写属性
background
复合写法
div {
background:
url("star.png") center / 80% /* 图片+位置+尺寸 */
no-repeat /* 不重复 */
fixed /* 固定定位 */
content-box /* 绘制区域 */
linear-gradient(blue, pink); /* 渐变背景 */
}
语法规则:
[color] [image] [repeat] [attachment] [position] / [size] [origin] [clip]
注意:
/size
必须紧跟在 position 后origin/clip 需同时声明时用空格分隔
四、实战技巧
1. 多背景层叠加
.hero-banner {
background:
linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.3)),
url("hero.jpg") center/cover;
}
效果:图片+半透明遮罩
2. 渐变创意背景
button {
background: linear-gradient(45deg, #ff8a00, #da1b60);
border: none;
}
3. 背景动画
@keyframes moveBG {
0% { background-position: 0 0; }
100% { background-position: 100% 0; }
}
.animated-bg {
background: url("pattern.png");
animation: moveBG 10s linear infinite;
}
五、常见问题解决方案
背景图加载闪烁
使用CSS精灵图(Sprite)或内联Base64编码Retina屏幕模糊
提供2倍尺寸图片 +background-size: 50%
背景色溢出
正确使用background-clip
控制绘制区域