1. 背景颜色
background-color属性 : 设置元素的背景颜色 .
它可以接受各种颜色值 , 包括命名颜色 , 十六进制颜色码 , RGB值 , HSL值等 .
快捷键 : bc + tab background-color : # fff ;
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background color</ title>
< style>
div {
height : 100px;
}
.box1 {
background : red;
}
.box2 {
background : rgb ( 100, 100, 100) ;
}
.box3 {
background : rgba ( 100, 100, 100, d0.5) ;
}
.box4 {
background : #AAAAAA;
}
.box5 {
background : #666;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
< div class = " box2" > </ div>
< div class = " box3" > </ div>
< div class = " box4" > </ div>
< div class = " box5" > </ div>
</ body>
</ html>
2. 背景图片
background-image属性 : 设置元素的背景图片 .
可以使用该属性指定一个图片文件的URL作为元素的背景 .
注意事项 : 如果图片的大小 , 没有标签大 , 那么会自动在水平和垂直方向平铺和填充 .
快捷键 : bi + tab background-image : url ( "" ) ;
背景图片 : 仅仅是一个装饰 , 不会占用位置 , 有定位属性可以控制图片位置 .
插入图片 : 会占用位置 , 没有定位属性 , 控制图片位置难 , 搜索引擎能收录 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background image</ title>
< style>
div {
height : 1000px;
width : 1000px;
background-image : url ( image/img1.gif) ;
}
</ style>
</ head>
< body>
< div> </ div>
</ body>
</ html>
3. 背景图像重复方式
background-repeat属性 : 用来控制背景图像的重复方式 .
它可以设置在CSS中的背景属性 ( background或background-image ) 上 .
常用属性值 :
- repeat : 默认值 , 背景图像在水平和垂直方向上重复 .
- repeat-x : 背景图像在水平方向上重复 .
- repeat-y : 背景图像在垂直方向上重复 .
- no-repeat : 背景图像不重复 , 只出现一次 .
- round : 背景图像在水平和垂直方向上拉伸或缩小 , 直到填满整个容器 .
- space : 背景图像在水平和垂直方向上复制以填满容器 , 但图像之间的间隔保持相等 .
快捷键 : bgr + tab background-repeat : ;
应用场景 : 为网页设置背景图片 , 图片越大 , 需要加载的时间越长 , 通过平铺来降低图片的大小 , 提示网页的访问速度 ( 使用有规律的图片 ) .
找一张有规律 , x , y轴平铺 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background repeat</ title>
< style>
div {
height : 1080px;
width : 1920px;
}
.box1 {
background-image : url ( image/img2.png) ;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
</ body>
</ html>
4. 背景图片定位
background-position属性 : 用于设置背景图像在容器内的位置 .
该属性可以采用以下方式进行设置 :
* 1. 使用关键字或关键字组合 :
- left : 将背景图像向容器的左侧对齐 .
- center : 将背景图像在容器中水平和垂直居中 .
- right : 将背景图像向容器的右侧对齐 .
- top : 将背景图像向容器的顶部对齐 .
- bottom : 将背景图像向容器的底部对齐 .
- 关键字组合 : 可以使用关键字组合 ( 左或右 , 上或下 ) , 如 'left top' , 'right bottom' 等 , 将背景图像分别在水平和垂直方向上对齐 .
* 2. 使用像素 , 百分比或其他单位的值 :
- px : 使用像素值来指定背景图像相对于容器边框的偏移位置 .
- % : 使用百分比值来指定背景图像相对于容器宽度或高度的偏移位置 .
- 其他单位 : 可以使用其他有效的长度单位如 : em , rem , vw , vh等 .
注意事项 : 同一个标签可以同时设置背景颜色和背景图片 , 如果颜色和图片同时存在 , 图片会覆盖背景颜色 .
快捷键 : bp + tab background-position : 0 0 ;
4.1 关键字定位
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background position 1</ title>
< style>
div {
height : 300px;
width : 300px;
background : #00ff19;
}
.box1 {
background-image : url ( image/柯南.jpg) ;
background-repeat : no-repeat;
background-position : top left;
}
.box2 {
background-image : url ( image/小兰.jpg) ;
background-repeat : no-repeat;
background-position : bottom right;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
< hr>
< div class = " box2" > </ div>
</ body>
</ html>
4.2 像素定位
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background position 2</ title>
< style>
div {
height : 300px;
width : 300px;
background : red;
}
.box1 {
background-image : url ( image/柯南.jpg) ;
background-repeat : no-repeat;
background-position : 100px 0;
}
.box2 {
background-image : url ( image/小兰.jpg) ;
background-repeat : no-repeat;
background-position : -50px -50px;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
< hr>
< div class = " box2" > </ div>
</ body>
</ html>
4.3 练习
4.3.1 图片居中
假设图片大小为 96 x96 像素 , div大小为 300 x300像素 .
要使图片在div中水平和垂直居中 , 可以按照以下方式计算背景图像的background-position属性值 .
水平偏移量 = ( div 宽度 - 图片宽度 ) / 2 = ( 300 - 96 ) / 2 = 102 像素
垂直偏移量 = ( div 高度 - 图片高度 ) / 2 = ( 300 - 96 ) / 2 = 102 像素
* 默认设置图标的左上角坐标 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background position 3</ title>
< style>
.box1 {
width : 300px;
height : 300px;
background-color : aqua;
background-image : url ( image/柯南2.jpg) ;
background-repeat : no-repeat;
background-position : 102px;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
</ body>
</ html>
4.3.2 优先展示
优先展示 : 网页始终将图片中间的重要信息给展示出来 .
通常设置 : background-position : center top ;
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background position 4</ title>
< style>
div {
height : 160px;
}
.box {
background-image : url ( image/1024.gif) ;
background-position : center top;
}
</ style>
</ head>
< body>
< div class = " box" > </ div>
</ body>
</ html>
4.3.3 图片拼接
将下面两张图片拼接在一起 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background position 5</ title>
< style>
div {
width : 1400px;
height : 900px;
}
.box1 {
background-image : url ( image/剑圣1.png) ;
background-repeat : no-repeat;
background-position : 61% top;
}
.box2 {
background-image : url ( image/剑圣2.png) ;
}
</ style>
</ head>
< body>
< div class = " box2" >
< div class = " box1" > </ div>
</ div>
</ body>
</ html>
4.3.4 图片重叠
将下面两张图片重叠在一起 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background position 6</ title>
< style>
div {
width : 1136px;
height : 632px;
}
.box1 {
background-image : url ( image/鱼1.png) ;
background-repeat : no-repeat;
}
.box2 {
background-image : url ( image/鱼2.png) ;
background-repeat : no-repeat;
background-position : center bottom;
}
</ style>
</ head>
< body>
< div class = " box1" >
< div class = " box2" > </ div>
</ div>
</ body>
</ html>
5. 背景图片关联
background-attachment属性 : 指定背景图像的滚动行为 ( 背景图片与滚动条之间的关联方式 ) .
常用属性值 :
- scroll : 背景图像会随着页面的滚动而滚动 .
- fixed : 背景图像在页面滚动时固定不动 , 保持在可视区域的固定位置 .
- local : 背景图像会随着元素内容的滚动而滚动 , 而不是整个页面的滚动 .
快捷键 : ba + tab background-attachment : ;
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background attachment</ title>
< style>
.box1 {
background-image : url ( image/img2.png) ;
background-repeat : no-repeat;
background-attachment : fixed;
}
</ style>
</ head>
< body>
< div class = " box1" >
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
x < br> x < br> x < br> x < br>
</ div>
</ body>
</ html>
6. 背景属性缩写
背景属性缩写格式 :
background : 背景颜色 背景图片 平铺方式 关联方式 定位方式 ;
注意事项 : background中可以省略任何一个属性值 .
快捷键 ( 可能失效 ) : gb + + tab : background : # fff url ( ) 0 0 no-repeat ;
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background</ title>
< style>
div {
width : 300px;
height : 300px;
}
.box1 {
background-color : aqua;
background-image : url ( image/太极.png) ;
background-repeat : no-repeat;
background-position : center;
}
.box2 {
background : red url ( image/太极.png) no-repeat center;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
< div class = " box2" > </ div>
</ body>
</ html>
7. 背景图片大小
background-size属性 : 定义背景图片的大小 .
常用属性值 :
* 1. 具体像素值 : 可以指定背景图片的宽度和高度 .
例如 'background-size: 200px 300px;' , 表示背景图片宽度为 200 像素 , 高度为 300 像素 .
* 2. 百分比值 : 可以根据容器元素的大小来调整背景图片的尺寸 .
例如 'background-size: 50% auto;' , 表示背景图片的宽度为容器宽度的 50 % , 高度根据图片原始比例自动计算 .
* 3. 关键词值 :
- auto : 背景图片的尺寸保持原始比例 , 并根据容器大小进行自动调整 .
- cover : 等比例缩放背景图片 , 以完全覆盖容器 , 可能会有部分图片超出容器范围 .
- contain : 等比例缩放背景图片 , 以完全适应容器 , 可能会有背景区域出现空白 .
例如 , ' background-size: cover;' : 表示将背景图片等比例缩放以完全覆盖容器 , 可能会裁剪部分图片 .
而 'background-size: contain;' : 表示将背景图片等比例缩放以完全适应容器 , 可能会在容器内留有空白区域 .
请注意 , 'background-size' 属性只对具有背景图片的元素起作用 , 而不会影响其他元素 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background size</ title>
< style>
body {
background-image : url ( image/太极.png) ;
background-size : 300px 300px;
background-repeat : no-repeat;
}
</ style>
</ head>
< body>
</ body>
</ html>
固定背景图片的大小 , 不随页面缩放 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> background attachment</ title>
< style>
body {
background-image : url ( image/壁纸.webp) ;
background-attachment : fixed;
background-repeat : no-repeat;
background-size : cover;
}
</ style>
</ head>
< body>
</ body>
</ html>
8. CSS精灵图
CSS精灵图 ( CSS Sprite ) : 是一种将多个图像合并到单个图像文件中的技术 .
通过使用CSS中的背景定位和尺寸控制 , 可以只显示图像文件中的特定部分 , 从而实现在网页中展示多个图像 .
使用CSS精灵图的好处包括减少HTTP请求次数 , 提高页面加载速度 , 以及更好的用户体验 .
CSS精灵图需要配合背景图片和背景定位来使用 .
使用Adobe Fireworks CS6 工具 中的web切片工具快速找到图片的位置 .
<! DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> CSS Sprite</ title>
< style>
div {
width : 140px;
height : 140px;
display : inline-block;
background-image : url ( "https://s2.loli.net/2022/02/16/yE1xHUWdnovFZYT.jpg" ) ;
}
.box1 {
background-position : -1041px -1443px;
}
.box2 {
background-position : -1445px -1442px
}
.box3 {
background-position : -1832px -1644px;
}
.box4 {
background-position : -237px -245px;
}
</ style>
</ head>
< body>
< div class = " box1" > </ div>
< div class = " box2" > </ div>
< div class = " box3" > </ div>
< div class = " box4" > </ div>
</ body>
</ html>