background
属性为元素添加背景效果。
它是以下属性的简写,按顺序为:
background-color
background-image
background-repeat
background-attachment
background-position
以下所有示例中的花花.jpg
图片的大小是48×48。
1 background-color
background-color
指定元素的背景色。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS 背景色 Demo</title>
<style>
body {
margin: 0;
padding: 0;
}
.container {
width: 200px;
height: 200px;
background-color: #f0f0f0;
}
.box {
width: 100px;
height: 100px;
background-color: #f00;
}
</style>
</head>
<body>
<div class="container">
<div class="box"></div>
</div>
</body>
</html>
2 background-image
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS 背景图片 Demo</title>
<style>
body {
margin: 0;
padding: 0;
}
.bg {
width: 96px;
height: 96px;
background-image: url('./花花.png')
}
</style>
</head>
<body>
<div class="bg"></div>
</body>
</html>
背景图片默认是重复的(repeat)。
3 background-repeat
它具有以下值。
1)默认值repeat
repeat会裁剪重复图片超出的部分。
.bg{
width: 120px;
height: 96px;
background-repeat:repeat;
}
2)space
space是无裁剪的重复。
其重复原理:
- 如果图片不能刚好放下,剩余长或宽将均匀分布在图片之间。
- 第一张图片一定从左上方的顶点位置开始排列。
- 如果图片大小超出容器大小,那么将被裁剪。
.bg{
width: 120px;
height: 96px;
background-repeat:space;
}
.bg{
width: 160px;
height: 96px;
background-repeat:space;
}
3)round
round是自适应重复,相比较于space,它会根据元素与图片的大小关系拉伸或缩小图片。
比如说,一个图片长为 x x x,元素长为 X X X, n x ≤ X ≤ m x nx \leq X \leq mx nx≤X≤mx,如果 X X X更靠近 n x nx nx,那么图片将被放大,如果 X X X更靠近 m x mx mx,那么图片将被缩小。
4)no-repeat
no-repeat
设置图片不允许重复。
4 background-attachment
background-attachment
决定图片的滚动行为。
其值包括:
scroll
(默认值):背景图片随页面滚动而滚动。
fixed
:背景图片不会随页面滚动而滚动,而是相对于视口的原点(左上角)固定。
我们观察到这两个元素的背景图片是重叠在一起了。
local
:不随页面滚动,但随元素内部滚动而滚动。
5 background-position
background-position
用于设定图片的位置,其值类型如下:
.bg{
/*关键字*/
background-position:top;
background-position:bottom;
background-position:center;
background-position:left;
background-position:right;
/*百分比值*/
background-position:50% 50%;
/*长度值*/
background-position:10cm 10cm;
/*边界偏移值*/
background-position:top 10em left 10px;
/*全局值*/
background-position:inherit; /*继承父元素*/
background-position:initial; /*设置为初始值,默认*/
background-position:revert; /*重置为样式表中的值*/
background-position:unset; /*重置为初始值,如果父元素背景位置有定义,继承父元素的值*/
}