如何使用css让背景图片不重复

如何使用CSS让背景图片不重复

在网页设计中,我们经常使用背景图片来美化网页,但是当背景图片过小或者网页需要无限滚动时,我们希望背景图片不重复出现。这时,我们就需要用到CSS的background-repeat属性来设置背景图片不重复。

1. background-repeat属性

CSS的background-repeat属性用于控制背景图片的重复方式。默认情况下,背景图片会在水平和垂直方向上平铺。如果我们只希望背景图片在水平方向或者垂直方向上重复,或者完全不重复,就需要使用该属性。

该属性可以有以下几个取值:

repeat:默认值,背景图片在水平和垂直方向上平铺

repeat-x:背景图片在水平方向上重复

repeat-y:背景图片在垂直方向上重复

no-repeat:背景图片不重复

下面是使用SCSS编写的背景图片不重复的示例代码:

body {

/* 此处使用背景图 */

background-image: url("bg.png");

/* 不重复 */

background-repeat: no-repeat;

/* 水平垂直方向都居中 */

background-position: center center;

/* 按照高度全屏 */

background-size: auto 100%;

}

2. background-size属性

CSS的background-size属性用于控制背景图片的大小。默认情况下,背景图片按照自己的原始大小显示。如果我们希望背景图片缩放到适应父元素或者按照一定的比例缩放,就需要使用该属性。

该属性可以有以下几个取值:

auto:默认值,按照背景图片的原始大小显示

cover:保持背景图片宽高比例不变,缩放背景图片以铺满父元素

contain:保持背景图片宽高比例不变,缩放背景图片以适应父元素

长度:设置背景图片的宽度为长度值,高度按照原始宽高比例计算

百分比:设置背景图片的宽度为父元素宽度的百分比,高度按照原始宽高比例计算

下面是使用SCSS编写的背景图片不重复且适应父元素高度的示例代码:

body {

/* 此处使用背景图 */

background-image: url("bg.png");

/* 不重复 */

background-repeat: no-repeat;

/* 水平垂直方向都居中 */

background-position: center center;

/* 宽度全屏,高度适应父元素 */

background-size: 100% auto;

}

3. background属性

为了方便设置背景图片不重复和适应父元素大小,CSS3新增了background属性,可以一次性设置多个背景图片相关的属性。

该属性可以有以下几个取值:

background-color:设置背景颜色

background-image:设置背景图片的URL

background-repeat:设置背景图片的重复方式

background-attachment:设置背景图片随页面滚动或者固定不动

background-position:设置背景图片的位置

background-size:设置背景图片的大小

下面是使用SCSS编写的背景图片不重复且居中适应父元素的示例代码:

body {

/* 使用背景色 */

background-color: #f1f1f1;

/* 使用背景图 */

background-image: url("bg.png");

/* 不重复 */

background-repeat: no-repeat;

/* 水平垂直方向都居中 */

background-position: center center;

/* 宽度全屏,高度适应父元素 */

background-size: 100% auto;

}

4. 总结

通过使用CSS的background-repeat和background-size属性,我们可以轻松地控制背景图片的重复和大小,并且可以使用background属性一次性设置多个背景图片相关的属性,让网页看起来更加美观。