在 CSS 中,背景样式有两个方面,背景颜色和背景图片,背景颜色使用 background-color 属性设置,而背景图片有多个属性。
一、背景颜色
背景颜色使用 background-color 属性设置,其值可以为关键字,也可以为 16 进制 RGB 值。(注意区分 color 和 background-color 属性,前者用于设置文本颜色,后者设置背景颜色)。
二、背景图片
1、背景图片样式 background-image
使用 background-image 属性设置背景图片,属性值为 url(),注意给元素添加宽高属性,否则图片不会显示。
2、背景图片重复 background-repeat
使用此属性定义背景图片的重复方式,其取值如下:
属性值 | 说明 |
---|---|
repeat | 在水平和竖直方向上同时平铺(默认) |
repeat-x | 只在水平方向平铺 |
repeat-y | 只在竖直方向平铺 |
no-repeat | 不平铺 |
注意,只有元素的宽高大于背景图片的宽高时,才会有重复效果,示例如下:
<!DOCTYPE html>
<html>
<head>
<meta name="keywords" content="个人主页,HTML学习笔记"/>
<meta name="author" content="Like_Frost"/>
<meta name="description" content="学习示例"/>
<meta name="copyright" content="版权所有,转载前请联系"/>
<style type="text/css">
div{
background-image: url(cat.svg);
height: 100px;
width: 100px;
border: black 1px solid;
}
.div1{
background-repeat: repeat;
}
.div2{
background-repeat: repeat-x;
}
.div3{
background-repeat: repeat-y;
}
.div4{
background-repeat: no-repeat;
}
</style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>
</body>
</html>
在浏览器中效果如下:
3、背景图片位置 background-position
此属性取值有两种,一种是像素值,一种是关键字。
- 像素值,以 px 为单位,要同时注明水平距离和垂直距离,使用方式:
background-position: 水平距离 垂直距离;
,示例如下:
<!DOCTYPE html>
<html>
<head>
<meta name="keywords" content="个人主页,HTML学习笔记"/>
<meta name="author" content="Like_Frost"/>
<meta name="description" content="学习示例"/>
<meta name="copyright" content="版权所有,转载前请联系"/>
<style type="text/css">
div{
background-image: url(cat.svg);
height: 100px;
width: 100px;
border: black 1px solid;
background-repeat: no-repeat;
background-position: 20px 20px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
在浏览器中的效果:
- 关键字,先竖直后水平,使用方式:
background-position: 竖直关键字 水平关键字;
,水平关键字有:left、center、right;垂直关键字有:top、center、bottom,其位置对应关系如下:
有如下示例:
<!DOCTYPE html>
<html>
<head>
<meta name="keywords" content="个人主页,HTML学习笔记"/>
<meta name="author" content="Like_Frost"/>
<meta name="description" content="学习示例"/>
<meta name="copyright" content="版权所有,转载前请联系"/>
<style type="text/css">
div{
background-image: url(cat.svg);
height: 100px;
width: 100px;
border: black 1px solid;
background-repeat: no-repeat;
background-position: center left;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
在浏览器中效果如下:
4、背景图片固定 background-attachment
此属性用于定义背景图片是随元素一起滚动还是固定不动,取值有 scroll(随元素滚动,默认值),fixed(固定不动),示例如下:
<!DOCTYPE html>
<html>
<head>
<meta name="keywords" content="个人主页,HTML学习笔记"/>
<meta name="author" content="Like_Frost"/>
<meta name="description" content="学习示例"/>
<meta name="copyright" content="版权所有,转载前请联系"/>
<style type="text/css">
div{
background-image: url(img.jpg);
height: 1000px;
width: 100vw;
border: black 1px solid;
background-repeat: no-repeat;
background-position: top left;
background-attachment: fixed;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
在滚动条滚动时,背景图片不滚动:
将 background-attachment 改为 scroll(或者不写,默认为 scroll),背景图片会随着滚动条滚动: