07_CSS设置背景

164 阅读3分钟

CSS设置背景

背景相关属性

background-image

background-image用于设置元素的背景图片

background-image会盖在background-color

我们可以设置多个背景图,设置的第一张图片将显示在最上面,其他图片按顺序层叠在下面

注意:如果设置了背景图片后,元素没有具体的宽高,背景图片是不会显示出来的

background-repeat

background-repeat用于设置背景图片是否要平铺

说明
repeat平铺 --- 默认值 --- x轴和y轴都进行平铺
no-repeat不平铺
repeat-x只在水平方向平铺
repeat-y只在垂直平方向平铺

Snipaste_2022-10-19_21-27-40.png

background-size

background-size用于设置背景图片的大小

说明
auto默认值, 以背景图本身大小显示
contain保持图片宽高比,缩放背景图,较长的一边铺满元素,可能出现没有被背景图覆盖的白底
cover保持图片宽高比,缩放背景图,较短的一边铺满元素,以完全覆盖铺满元素, 可能背景图片部分看不见
<percentage>百分比,相对于背景区(background positioning area)
<length>具体的大小,比如100px
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      width: 600px;
      height: 600px;
      background-color: #f00;

      /* 设置背景图片 */
      background-image: url(../images/kobe01.jpg);
      background-repeat: no-repeat;

      /* 设置背景的尺寸 */
      /* background-size: 100% 100%; */
      /* background-size: 100px 100px; */
      background-size: 100px auto;
    }
  </style>
</head>
<body>
  
  <div class="box"></div>

</body>
</html>

background-position

background-position用于设置背景图片在水平、垂直方向上的具体位置

  • 可以设置具体的数值 比如 20px 30px
  • 水平方向还可以设值:left、center、right
  • 垂直方向还可以设值:top、center、bottom
  • 如果只设置了1个方向,另一个方向默认是center

Snipaste_2022-10-19_21-30-08.png

background-attachment

background-attachment决定背景图像的位置是在视口内固定,或者随着包含它的区块滚动

说明
scroll此关键属性值表示背景相对于元素本身固定, 而不是随着它的内容滚动
local此关键属性值表示背景相对于元素的内容固定。如果一个元素拥有滚动机制,背景将会随着元素的内容滚动
fixed此关键属性值表示背景相对于视口固定即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动

background

background是一系列背景相关属性的简写属性

.box {
  width: 300px;
  height: 300px;
  /*
  background: <background-image> || <background-color> || <background-position>/<background-size> <background-repeat> <background-attachment>
  1. background的任意属性都是可以省略的,且没有顺序要求
  2. background-size可以省略,如果不省略,background-size必须紧跟在background-position的后面,且以/进行分割
  */
  background: url(./images/avatar.jpg) #f00 top/contain no-repeat scroll;
}

background-image和img对比

Snipaste_2022-10-19_21-32-32.png

  1. 如果该图片是网页的重要组成部分,比如广告图片、LOGO图片、文章配图、产品图片,那么推荐使用img标签
  2. 如果该图片只是为了美化网页,没有该图片并不影响网页的整体阅读,此时推荐使用background-image

总结 img,作为网页内容的重要组成部分,比如广告图片、LOGO图片、文章配图、产品图片 background-image,可有可无。有,能让网页更加美观。无,也不影响用户获取完整的网页内容信息