CSS 背景重复
背景重复是CSS中用于控制背景图片如何在元素内重复显示的属性,它可以使背景图片以不同的方式填充元素。
基本语法
css
元素选择器 {
background-repeat: 重复方式;
}
重复方式的取值
background-repeat属性支持以下取值:
1. repeat(默认值)
背景图片在水平和垂直方向上都重复,填满整个元素。
css
.element {
background-image: url('images/pattern.png');
background-repeat: repeat;
}
2. repeat-x
背景图片只在水平方向上重复,垂直方向上不重复。
css
.element {
background-image: url('images/pattern.png');
background-repeat: repeat-x;
}
3. repeat-y
背景图片只在垂直方向上重复,水平方向上不重复。
css
.element {
background-image: url('images/pattern.png');
background-repeat: repeat-y;
}
4. no-repeat
背景图片在水平和垂直方向上都不重复,只显示一次。
css
.element {
background-image: url('images/pattern.png');
background-repeat: no-repeat;
}
5. space
CSS3新增值,背景图片在水平和垂直方向上均匀分布,不裁剪,图片之间留有空白。
css
.element {
background-image: url('images/pattern.png');
background-repeat: space;
}
6. round
CSS3新增值,背景图片在水平和垂直方向上均匀分布,会根据需要拉伸或压缩图片以填满整个元素,不留下空白。
css
.element {
background-image: url('images/pattern.png');
background-repeat: round;
}
双值语法
CSS3支持双值语法,可以分别指定水平和垂直方向的重复方式:
css
.element {
background-image: url('images/pattern.png');
background-repeat: repeat-x no-repeat; /* 水平重复,垂直不重复 */
}
双值语法的取值顺序是:水平方向在前,垂直方向在后。
应用场景
1. 创建纹理背景
使用小图案在水平和垂直方向上重复,创建纹理背景:
css
body {
background-image: url('images/texture.png');
background-repeat: repeat;
}
2. 创建边框效果
使用装饰性图案在水平或垂直方向上重复,创建边框效果:
css
.header {
background-image: url('images/border-top.png');
background-repeat: repeat-x;
padding-top: 20px;
}
.sidebar {
background-image: url('images/border-right.png');
background-repeat: repeat-y;
background-position: right top;
padding-right: 20px;
}
3. 单个背景图片
使用重要的图片作为背景,只显示一次:
css
.hero {
background-image: url('images/hero-bg.jpg');
background-repeat: no-repeat;
background-size: cover;
height: 500px;
}
4. 均匀分布图片
使用space或round值在容器内均匀分布图片:
css
.gallery {
background-image: url('images/photo.jpg');
background-repeat: space;
background-size: 200px 150px;
padding: 20px;
height: 600px;
}
与其他背景属性的结合
background-repeat通常与其他背景属性结合使用:
css
.element {
background-image: url('images/pattern.png');
background-repeat: no-repeat;
background-position: center top;
background-size: 200px 150px;
}
浏览器兼容性
| 浏览器 | 支持情况 |
|---|---|
| Chrome | 完全支持 |
| Firefox | 完全支持 |
| Safari | 完全支持 |
| Edge | 完全支持 |
| IE | IE6及以上支持 |
space和round值以及双值语法在IE9及以下浏览器中不支持。
总结
background-repeat是CSS中用于控制背景图片重复方式的重要属性,它支持多种重复方式和灵活的双值语法。合理使用background-repeat可以创建丰富的背景效果,从简单的纹理到复杂的布局,都可以通过这个属性实现。
最后更新:2026-02-07