• 【攻破css系列——第五天】背景


    在这里插入图片描述


    1. 背景

    1.1 定义

    css 背景属性包括 背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等


    1.2 背景颜色

    1.2.1 定义

    背景颜色通过 background-color 属性定义


    1.2.2 语法

    background-color: 颜色;
    
    • 1

    这个属性默认值为 transparent (透明色)。


    1.2.3 示例

    • html (给 div 盒子设置背景色,盒子宽高为 120px )

      <body>
          <div>平平无奇小盒子div>
      body>
      
      • 1
      • 2
      • 3
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 效果

      在这里插入图片描述


    1.3 背景图片

    1.3.1 定义

    背景图片通过 background-image 属性定义。我们图片明明可以在 html 直接用 img 标签的 src 属性来定义,为什么还要多出背景图片这个属性呢?因为使用这个属性可以帮助我们更好控制图片的位置,所以在实际开发中,这个属性常用于 logo 或者一些小图片,超大的背景图片,精灵图(可以认为是很多个小图片组成的一张图片,可以减少图片存储的数量)


    1.3.2 语法

    background-image: none | url(url);
    
    • 1

    这个属性默认值为 none ,即没有背景图片。

    url 可以使用绝对路径或相对路径指定背景图片。(里面的url不要加引号,不然图片会出不来


    1.3.3 示例

    • rocket图片

      在这里插入图片描述

    • html (在 div 盒子中放置 rocket 作为背景图片,盒子的宽高为 500px)

      <body>
          <div>div>
      body>
      
      • 1
      • 2
      • 3
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 效果

      在这里插入图片描述

      我们发现一个小火箭变成了多个小火箭,也就是说背景图片发生了重叠。在接下来的背景平铺将讲述解决方法。


    1.4 背景平铺

    1.4.1 定义

    背景平铺通过 background-repeat 属性定义


    1.4.2 语法

    background-repeat: repeat | no-repeat | repeat-x | repeat-y;
    
    • 1
    属性值描述
    repeat默认值,x 和 y 轴都平铺
    no-repeatx 和 y 轴都不平铺
    repeat-xx 平铺,y 不平铺
    repeat-yy 平铺,x 不平铺

    1.4.3 示例

    • html (在 div 盒子中放置 rocket 作为背景图片,盒子的宽高为 500px ,并设置背景颜色为红色)

      <body>
          <div>div>
      body>
      
      • 1
      • 2
      • 3
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    • 效果

      在这里插入图片描述

      我们看到小火箭又重新变成一个了,剩下的都是背景颜色,这里可以得到一个结论:背景颜色的图层在背景图片的上层,所以背景颜色才会被背景图片覆盖。

    • repeat-x 和 repeat-y

      上面为 repeat-x,下面为 repeat-y

      在这里插入图片描述
      在这里插入图片描述

    1.5 背景图片位置

    1.5.1 定义

    背景图片位置通过 background-position 属性定义


    1.5.2 语法

    background-position: x y;
    
    • 1
    属性值描述
    length百分数 | 具体数字 + 长度单位,分别表示 x y
    positiontop | center | bottom | left | center | right 这些方位名词
    • 注意点
      1. 如果参数都是方位名词,值的顺序无区别,如 left center = center left
      2. 如果写了一个方位名词,另一个省略,另一个的默认值为 center
      3. 如果参数是精确长度,第一个一定是 x 坐标,第二个一定是 y 坐标
      4. 如果写了一个精确长度,那么该值一定是 x 坐标,y 坐标默认值为 center
      5. 支持方位名词和精确长度的混用,混用时,第一个一定是 x 坐标,第二个一定是 y 坐标

    1.5.3 示例

    • html (在 div 盒子中放置 rocket 作为背景图片,盒子的宽高为 500px ,并设置背景颜色为红色,使背景图处于盒子水平垂直居中的位置)

      <body>
          <div>div>
      body>
      
      • 1
      • 2
      • 3
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
    • 效果

      在这里插入图片描述


    1.6 背景图像固定

    1.6.1 定义

    背景图像固定通过 background-attachment 属性定义,可以设置背景图像是否随滚轮滚动。所以,它常常用来制作一直在某个位置的广告。


    1.6.2 语法

    background-attachment: scroll | fixed;
    
    • 1
    属性值描述
    scroll背景图随滚轮滚动
    fixed背景图固定

    1.6.3 示例

    • html (在 div 盒子中放置 rocket 作为背景图片,盒子的宽高为 2000px :为了使页面有滚动条,并设置背景颜色为红色,使背景图片在滚动时一直处于同一位置)

      <body>
          <div>div>
      body>
      
      • 1
      • 2
      • 3
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
    • 效果略


    1.7 背景复合属性

    1.7.1 定义

    和 font (字体) 类似,背景也有复合属性,为 background


    1.7.2 语法

    background: 背景颜色 背景图片 背景平铺 背景图像滚动 背景图片位置
    
    • 1

    虽然没有特定书写习惯,但还是建议像上面这样写,因为有一些属性调换顺序会报错。


    2. 背景半透明色

    2.1 定义

    我们在字体颜色时讲过我们颜色是以 rgb 值来表示,而如果要表示颜色的透明度的话,可以用 rgba() 表示,前三个参数和 rgb 的参数一致,最后一个参数为 alpha (透明度),其值为 0~1


    2.2 语法

    rgba(red值 green值 blue值 alpha);
    
    • 1

    其实,这个属性与其说是透明度,倒不如说是不透明度。因为 1 表示不透明,0 表示完全透明


    2.3 示例

    • html(设置 div 盒子的宽高均为200px,背景颜色为黑色,透明度为 0.5)

      
          
      • 1
      • 2
      • 3
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 效果

      在这里插入图片描述


    3.综合案例

    3.1 要求(制作一个五彩导航)

    在这里插入图片描述


    3.2 图片准备

    bg1-bg3可以在 pink老师的仓库下载


    3.3 代码

    • html

      <body>
          <div class="nav">
              <a href="#" class="bg1">五彩导航a>
              <a href="#" class="bg2">五彩导航a>
              <a href="#" class="bg1">五彩导航a>
              <a href="#" class="bg2">五彩导航a>
          div>
      body>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    • css

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
    • 效果

      在这里插入图片描述

    本文主要学习黑马程序员pink老师的视频

    如有错误,敬请指正,欢迎交流🤝,谢谢♪(・ω・)ノ

  • 相关阅读:
    LeetCode_643_子数组的最大平均数Ⅰ
    星际争霸之小霸王之小蜜蜂(十六)--狂奔的花猫
    Element Plus 的 el-icon 到底怎么用?
    机器学习西瓜书-1-2章
    【微信小程序】canvasToTempFilePath遇到的问题
    【C语言】函数栈帧的创建和销毁详解
    基于深度学习的人脸识别闸机开发(基于飞桨PaddlePaddle)
    C++学习记录——삼십삽 STL空间配置器
    javaFx+google chrome测试下载视频
    代码随想录训练营二刷第四十七天 | 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
  • 原文地址:https://blog.csdn.net/m0_51302822/article/details/127743194