使用CSS精灵图可以减少对服务器请求的次数, 以及可以降低服务器处理压力

CSS背景

背景颜色

1.如何设置标签的背景颜色?

  • 在CSS中有一个background-color:属性, 就是专门用来设置标签的背景颜色的

2.取值

  • 具体单词
  • rgb
  • rgba
  • 十六进制

3.快捷键:

  • bc background-color: #fff;

背景图片

1.如何设置背景图片?

  • 在CSS中有一个叫做background-image: url();的属性, 就是专门用于设置背景图片的

2.快捷键:

  • bi background-image: url();

注意点

  • 图片的地址必须放在url()中, 图片的地址可以是本地的地址, 也可以是网络的地址
  • 如果图片的大小没有标签的大小大, 那么会自动在水平和垂直方向平铺来填充
  • 如果网页上出现了图片, 那么浏览器会再次发送请求获取图片

背景平铺属性

1.如何控制背景图片的平铺方式?

  • 在CSS中有一个background-repeat属性, 就是专门用于控制背景图片的平铺方式的

2.取值:

  • repeat 默认, 在水平和垂直都需要平铺
  • no-repeat 在水平和垂直都不需要平铺
  • repeat-x 只在水平方向平铺
  • repeat-y 只在垂直方向平铺

3.快捷键

  • bgr background-repeat:

应用场景

  • 可以通过背景图片的平铺来降低图片的大小, 提升网页的访问速度

背景定位属性

1.如何控制背景图片的位置?

  • 在CSS中有一个叫做background-position:属性, 就是专门用于控制背景图片的位置

2.格式:

  • background-position: 水平方向 垂直方向;

3.取值

  • 具体的方位名词
    水平方向: left center right
    垂直方向: top center bottom

  • 具体的像素
    例如: background-position: 100px 200px;
    记住一定要写单位, 也就是一定要写px
    记住具体的像素是可以接收负数的

4.快捷键:

  • bp background-position: 0 0;

注意点
同一个标签可以同时设置背景颜色和背景图片, 如果颜色和图片同时存在, 那么图片会覆盖颜色

背景缩写

1.背景属性缩写的格式

  • background: 背景颜色 背景图片 平铺方式 关联方式 定位方式;

2.快捷键:

  • bg+ background: #fff url() 0 0 no-repeat;

3.注意点:

  • background属性中, 任何一个属性都可以被省略

背景关联方式

1.什么是背景关联方式?

  • 默认情况下背景图片会随着滚动条的滚动而滚动, 如果不想让背景图片随着滚动条的滚动而滚动, 那么我们就可以修改背景图片和滚动条的关联方式

2.如何修改背景关联方式?

  • 在CSS中有一个叫做background-attachment的属性, 这个属性就是专门用于修改关联方式的

3.格式

  • background-attachment:scroll;

4.取值:

  • scroll 默认值, 会随着滚动条的滚动而滚动
  • fixed 不会随着滚动条的滚动而滚动

5.快捷键:

  • ba background-attachment:;

背图片大小

1.什么是背景尺寸属性

  • 背景尺寸属性是CSS3中新增的一个属性, 专门用于设置背景图片大小

2.格式

  • background-size: cover;

3.取值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
div{
/*具体像素*/
background-size:200px 100px;
/*百分比*/
background-size:100% 80%;
/*宽度等比拉伸*/
background-size:auto 100px;
/*高度等比拉伸 */
background-size:100px auto;
/*cover*/
background-size:cover;
/*contain*/
background-size:contain;
}

注意点

  • cover含义

    • 告诉系统图片需要等比拉伸
    • 告诉系统图片需要拉伸到宽度和高度都填满元素
  • cover含义:

    • 告诉系统图片需要等比拉伸
    • 告诉系统图片需要拉伸到宽度或高度都填满元素

背景图片定位区域属性

  • 告诉系统背景图片从什么区域开始显示,
    默认情况下就是从padding区域开始显示
    1
    2
    3
    4
    5
    div{
    background-origin: padding-box;
    background-origin: border-box;
    background-origin: content-box;
    }

背景绘制区域属性

  • 背景绘制区域属性是专门用于指定从哪个区域开始绘制背景的, 默认情况下会从border区域开始绘制背景
    1
    2
    3
    4
    5
    div{
    background-clip: padding-box;
    background-clip: border-box;
    background-clip: content-box;
    }

多重背景

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
div{
width: 600px;
height: 190px;
border: 1px solid #000;
margin: 100px auto;
background-image: url("images/bg-plane.png"),url("images/bg-sun.png"), url(images/bg-clouds.png);
background-repeat: no-repeat,no-repeat,no-repeat;
background-size: 50px 50px,50px 50px,auto auto;
background-position: 20px 150px,500px 80px,0 0;
animation: move 6s linear infinite 0s;
}
@keyframes move{
form{
background-position: 20px 150px,500px 80px,0 0;
}
to{
background-position: 180px 0,500px 80px,-900px 0;
}
}

背景图片和插入图片的区别

  • 背景图片仅仅是一个装饰, 不会占用位置
    插入图片会占用位置

  • 背景图片有定位属性, 所以可以很方便的控制图片的位置
    插入图片没有定位属性, 所有控制图片的位置不太方便

  • 插入图片的语义比背景图片的语义要强, 所以在企业开发中如果你的图片想被搜索引擎收录, 那么推荐使用插入图片

CSS精灵图

1.什么是CSS精灵图

  • CSS精灵图是一种图像合成技术

2.CSS精灵图作用

  • 可以减少请求的次数, 以及可以降低服务器处理压力

3.如何使用CSS精灵图

  • CSS的精灵图需要配合背景图片和背景定位来使用