目录
背景颜色
背景图片
背景平铺
背景图片位置
背景图片固定
背景样式综合书写
背景色半透明
通过 CSS 背景属性,可以给页面元素添加背景样式。背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等
背景颜色
在CSS中可以使用background-color
定义元素的背景颜色
基础语法如下:
选择器 {
background-color: 颜色值;
}
在CSS中,可以将颜色设置为transparent
,表示透明,也是CSS中的默认值
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景颜色</title>
<style>
div {
background-color: lightblue;
}
</style>
</head>
<body>
<div>这是一个内容</div>
</body>
</html>
效果如下:
背景图片
在CSS中可以使用background-image
定义元素的背景图片
基本语法:
选择器 {
background-image: none; url(图片地址)
}
CSS中background-image
属性有两种取值:
参数值 | 作用 |
| 没有背景图(默认值) |
图片地址 | 使用绝对地址或者相对地址指定图片 |
实际开发常见于 logo 或者一些装饰性的小图片或者是超大的背景图片, 优点是非常便于控制位置. (精灵图也是一种运用场景)
📌
背景图片后面的地址,千万不要忘记加 URL, 同时里面的路径不要加引号
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景图片</title>
<style>
div {
width: 1000px;
height: 1000px;
font-size: 100px;
background-image: url(logo.webp);
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
背景平铺
在CSS中使用background-repeat
设置元素背景图像的平铺
基本语法如下:
选择器 {
background-repeat: 值;
}
CSS中,background-repeat
有以下四个值:
参数值 | 作用 |
| 背景在横向和纵向平铺(默认值) |
| 不平铺 |
| 背景在横向上平铺 |
| 背景在纵向上平铺 |
示例代码:
- 不进行平铺
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景平铺</title>
<style>
div {
width: 1000px;
height: 1000px;
font-size: 100px;
background-image: url(logo.webp);
/* 不进行平铺,但是不改变盒子的大小 */
background-repeat: no-repeat;
background-color: lightgray;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
- 横向平铺
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景平铺</title>
<style>
div {
width: 1000px;
height: 1000px;
font-size: 100px;
background-image: url(logo.webp);
/* 不进行平铺,但是不改变盒子的大小 */
background-repeat: repeat-x;
background-color: lightgray;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
背景图片位置
在CSS中使用background-position
属性改变图片的位置
基本语法如下:
选择器 {
background-position: x y;
}
在CSS中background-position
有两种取值方式:
参数值 | 说明 |
| 百分数/由浮点数和单位构成的固定长度值 |
| 方位名词:横向: |
注意:
- 参数是方位名词
- 如果指定的两个值都是方位名词,则两个值前后顺序无关,比如
left top
和top left
效果一致 - 如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐,即
center
- 如果指定的两个值都是方位名词,则两个值前后顺序无关,比如
- 参数是精确单位
- 如果参数值是精确坐标,那么第一个肯定是 x 坐标,第二个一定是 y 坐标
- 如果只指定一个数值,那该数值一定是 x 坐标,另一个默认垂直居中
- 参数是混合单位
- 如果指定的两个值是精确单位和方位名词混合使用,则第一个值是 x 坐标,第二个值是 y 坐标
示例代码:
- 参数是方位名词
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景图片位置</title>
<style>
div {
width: 500px;
height: 500px;
background-color: green;
background-image: url(logo.webp);
background-repeat: no-repeat;
background-position: center center;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
- 参数是精确值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景图片位置</title>
<style>
div {
width: 500px;
height: 500px;
background-color: green;
background-image: url(logo.webp);
background-repeat: no-repeat;
background-position: 20px 200px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
- 参数是混合值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景图片位置</title>
<style>
div {
width: 500px;
height: 500px;
background-color: green;
background-image: url(logo.webp);
background-repeat: no-repeat;
/* 第一个为center时代表横向位置,第二个为纵向位置 */
background-position: center 20px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
背景图片固定
在CSS中使用background-attachment
属性设置背景图像是否固定或者随着页面的其余部分滚动
基本语法如下:
选择器 {
background-attachment: fixed/scroll;
}
示例代码:
- 图片随着内容滚动而滚动(相当于内容固定在某一部分内容)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景图片固定</title>
<style>
div {
background-image: url(background.jpg);
background-repeat: no-repeat;
background-position: center 20px;
background-attachment: fixed;
background-attachment: scroll;
}
p {
text-align: center;
}
</style>
</head>
<body>
<div>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
</div>
</body>
</html>
- 图片随着内容滚动而滚动(相当于内容在图片上移动)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景图片固定</title>
<style>
div {
background-image: url(background.jpg);
background-repeat: no-repeat;
background-position: center 20px;
background-attachment: fixed;
background-attachment: fixed;
}
p {
text-align: center;
}
</style>
</head>
<body>
<div>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
<p>这是一段内容</p>
</div>
</body>
</html>
背景样式综合书写
建议格式如下:
background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;
📌
不同于font
的综合书写,background
综合书写可以不在乎顺序,但是一般按照上面的顺序进行书写,每一个属性值中间用空格分隔
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>综合样式</title>
<style>
div {
width: 500px;
height: 500px;
background: green url(logo.webp) no-repeat scroll center top;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果如下:
背景色半透明
在CSS中可以使用rgba
值为背景色设置为是否透明
基本语法如下:
选择器 {
background: rgba(值, 值, 值, 透明程度)
}
在rgba
中前三个值依旧遵守rgb
三原色的值,最后一个值为0-1范围的值代表透明程度,0代表完全透明,1代表不透明
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景色半透明</title>
<style>
div {
width: 500px;
height: 500px;
background: rgba(0, 0, 255, 0.5);
background-image: url(logo.webp);
background-repeat: no-repeat;
background-position: center left;
}
</style>
</head>
<body>
<!-- 背景色半透明不影响文字颜色 -->
<div>这是一个内容</div>
</body>
</html>
效果如下: