HTML及CSS学习笔记 13 - 背景

本文是HTML及CSS课程的第十三课。主要介绍和页面背景相关的CSS样式属性,如背景颜色、背景图片、背景图片平铺方式等等

一、web中的图片

1、web中常见的图片格式

web中我们常见图片格式JPEG(Joint Photographic Experts Group)、PNG(Portable Network Graphics)和GIF(Graphics Interchange Format)。

1.1、JPEG

  • JPEG格式的图片文件扩展名为.jpg.jpeg
  • JPEG格式的图片可以展示一张照片或非常复杂图像
  • JPEG格式可以表示256 x 256 x 256 = 16777216 种颜色,即所有的RGB颜色
  • JPEG格式的图片不支持图像透明
  • JPEG格式的图片不支持动画

1.2、PNG

  • PNG格式的图片文件扩展名为.png
  • PNG格式的图片适合展示网页插画logo及网页中的小图标(icon)。
  • PNG格式可以表示上百万种不同颜色
  • PNG格式有8位、24位、32位三种形式,24位PNG不支持图像透明8位PNG和32位PNG支持图像透明
  • PNG格式的图片不支持动画

1.3、GIF

  • GIF格式的图片文件扩展名为.gif
  • GIF格式是网络中运用最早的图片格式,适合网页插画logo及网页中的小图标(icon)。
  • GIF格式最多只能表示256种颜色
  • GIF格式支持图像透明
  • GIF格式支持动画

综上,结合这几种图片格式各自的特点,我们在web中使用图片时,一般复杂颜色的图像和照片使用JPEG格式,动态图像使用GIF格式,而透明图片一般使用png格式(png格式较GIF格式更平滑)。

2、web中常见的图片类型

web中的图片按作用分类大致可以划分为内容图片交互图片布局图片

2.1、内容图片

内容图片是页面中真正需要的内容,没有内容图片就无法完整的理解页面的内容信息。如:
内容图片
在web中添加内容图片时通常在HTML文档中使用<img />标签

2.2、交互图片

交互图片承载页面中一定的交互功能,会给用户浏览页面带来一定的帮助。如:
交互图片
交互图片一般是一些小图标(icon),常常使用PNG格式或GIF格式。添加交互图片时,有时会在HTML文档中使用<img />标签,有时会在CSS文档中使用背景系列的样式属性图片精灵,而随着HTML5和CSS3的流行,现在越来越多的网页开始使用字体图标来实现。

2.3、布局图片

布局图片一般出现在页面的背景中,对于了解页面的具体内容信息,它们并必须的。如:
布局图片
布局图片一般需要使用CSS中背景系列的样式属性来添加,这也是为了符合内容表现分离的规范。

二、背景

在CSS中,可以通过一些列的样式属性为元素设置背景颜色、背景图片等。

1、背景颜色

在CSS中使用background-color属性来定义元素的背景颜色,前面的章节中我们已经看到很多应用这一属性的例子,这里不再赘述。

2、背景图片路径

在CSS中使用background-image属性为元素添加背景图片
下面是一个示例:
需要使用的背景图片(尺寸 150像素 x 150像素):
要添加的图片
HTML源码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景图片路径 </title>
    <style type="text/css">
      * {margin: 0; border: 0; padding: 0;}
      .d-background {
        height: 300px;
        background-color: #8a4438;
        background-image: url("images/brick.png");
      }
    </style>
  </head>
  <body>
    <div class="d-background"></div>
  </body>
</html>

页面浏览效果:
背景图片路径
说明:

  • 样式属性background-image的值要指定一个图片路径,图片路径写在url("")中,""可以省略,可以使用相对路径绝对路径
  • 一般在设置背景图片前,会先给元素一个和背景图片底色相近的背景颜色,在背景图片由于网络等原因无法加载时,至少页面不会太单调。

3、背景图片平铺

在CSS中使用background-repeat属性控制元素背景图片的平铺方式
下面是一个示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景图片平铺 </title>
    <style type="text/css">
      * {margin: 0; border: 0; padding: 0;}
      .d-background {
        height: 300px;
        background-color: #8a4438;
        background-image: url("images/brick.png");
        background-repeat: no-repeat;
      }
    </style>
  </head>
  <body>
    <div class="d-background"></div>
  </body>
</html>

页面浏览效果:
背景图片平铺
说明:

  • 样式属性background-repeat常用值及说明如下;
    样式属性及值说明
    background-repeat: no-repeat;背景图片不平铺,图片显示在元素的左上角
    background-repeat: repeat-x;背景图片沿着x轴平铺
    background-repeat: repeat-y;背景图片沿着y轴平铺
    background-repeat: repeat;背景图片沿着x轴和y轴平铺,repeatbackground-repeat属性的默认值

4、背景图片位置

在CSS中样式属性background-position可以控制背景图片在元素中显示位置
下面是一个示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景图片位置 </title>
    <style type="text/css">
      * {margin: 0; border: 0; padding: 0;}
      .d-background {
        height: 300px;
        background-color: #8a4438;
        background-image: url("images/brick.png");
        background-repeat: no-repeat;
        background-position: bottom center;
      }
    </style>
  </head>
  <body>
    <div class="d-background"></div>
  </body>
</html>

页面浏览效果:
背景图片位置
说明:

  • 样式属性background-position可以设置两个值第一个值表示背景图片在容器元素中纵向位置,可能的值为top(默认)、centerbottom或者数值第二个值表示背景图片在容器元素中横向位置,可能的值为left(默认)、centerright或者数值

5、图片精灵

web中的一些小图标(icon),常常使用PNG或GIF格式,很多情况下,我们仍然使用CSS中的背景系列样式属性,以背景的形式展示这些图片。为了减少网络请求次数,常常会将这些小图片放在一张较大的图片中。通常我们将这种图片称之为图片精灵
下面是一个示例:
需要使用的图片精灵(尺寸 28像素 x 56像素):
图片精灵
HTML源码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 图片精灵 </title>
    <style type="text/css">
      * {
        margin: 0;
        border: 0;
        padding: 0;
      }
      a {
        text-decoration: none;
      }
      .login-bar {
        position: absolute;
        top: 20px;
        right: 50px;
        background-color: lightskyblue;
      }
      .login-bar a {
        color: #FFFFFF;
        font: 16px/28px 微软雅黑, sans-serif;
        background-image: url("images/icons.png");
      }
      .login-bar a:hover {
        color: #EFEFEF;
      }
      .qq-login, .wb-login {
        display: block;
        float: left;
        width: 82px;
        height: 28px;
        padding-left: 28px;
      }
      .qq-login {
        background-position: 0 0;
      }
      .wb-login {
        background-position: 0 -28px;
      }
    </style>
  </head>
  <body>
    <div class="login-bar">
      <a href="#" class="qq-login">qq登陆</a>
      <a href="#" class="wb-login">微博登陆</a>
    </div>
  </body>
</html>

页面浏览效果:
图片精灵
说明:

  • 图片精灵配合background-position属性,可以使其中的不同小图标显示在网页中不同位置。以元素左上角为坐标(0, 0)点,向横轴正方向,向纵轴正方向,建立坐标系background-position属性配置的两个值即为图片精灵左上角在该坐标系中的x轴坐标值y轴坐标值。本例中图标位置截取的示意如下:
    图片精灵位置截取

6、多张背景图片

在CSS中,我们可以为一个元素设置多张背景图片
下面是一个示例:
需要使用的第一张背景图片(尺寸 150像素 x 150像素):
bg1
需要使用的第二张背景图片(尺寸 150像素 x 150像素):
bg2
HTML源码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 多张背景图片 </title>
    <style type="text/css">
      * {margin: 0; border: 0; padding: 0;}
      .d-background {
        width: 200px;
        height: 200px;
        background-image: url("images/bg1.png"), url("images/bg2.png");
        background-repeat: no-repeat;
        background-position: top left, bottom right;
      }
    </style>
  </head>
  <body>
    <div class="d-background"></div>
  </body>
</html>

页面浏览效果:
多张背景图片
说明

  • 在CSS背景属性中,使用,分隔,可以定义多张背景图片及背景图的相关属性
  • 先定义的背景图片会覆盖后定义的背景图片。

7、背景图片尺寸

在CSS中样式属性background-size可以设置背景图片尺寸
下面是一个示例:
需要使用的背景图片(尺寸 250像素 x 250像素):
背景图片
HTML源码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景图片尺寸 </title>
    <style type="text/css">
      * {margin: 10px; border: 0; padding: 0;}
      .d-background {
        width: 300px;
        height: 250px;
        float: left;
        background-color: lightgray;
        background-image: url("images/bg.png");
        background-repeat: no-repeat;
      }
      .d2 {background-size: 300px 250px;}
      .d3 {background-size: 300px;}
      .d4 {background-size: 50% 50%;}
      .d5 {background-size: cover;}
      .d6 {background-size: contain;}
    </style>
  </head>
  <body>
    <div class="d-background"></div>
    <div class="d-background d2"></div>
    <div class="d-background d3"></div>
    <div class="d-background d4"></div>
    <div class="d-background d5"></div>
    <div class="d-background d6"></div>
  </body>
</html>

页面浏览效果:
背景图片尺寸
说明:

  • 样式属性background-size在定义背景图片尺寸时,属性值可以使用长度数值百分比关键字covercontain)。
  • 使用长度数值设置背景图片的宽度和高度时,第一个值宽度第二个值高度。如果给出第一个值,第二个值即为auto,图片会等比例缩放
  • 使用百分比设置背景图片的宽度和高度时,表示相对所在区域百分比第一个值设置宽度第二个值设置高度。如果给出第一个值,第二个值即为auto,图片会等比例缩放
  • 使用关键字cover,表示保持图像的长宽比例,并将图像缩放成刚好完全覆盖所在区域最小尺寸
  • 使用关键字contain,表示保持图像的长宽比例,并将图像缩放成刚好完全显示在所在区域内最大尺寸

8、背景图片定位区域

在CSS中,可以使用background-origin属性定义背景图片的定位区域
下面是一个示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景图片定位区域 </title>
    <style type="text/css">
      * {margin: 10px; border: 0; padding: 0;}
      .d-background {
        width: 250px;
        height: 250px;
        float: left;
        border: 30px dashed lightsalmon;
        padding: 30px;
        background-color: lightgray;
        background-image: url("images/bg.png");
        background-repeat: no-repeat;
      }
      .d1 {background-origin: content-box;}
      .d2 {background-origin: border-box;}
      .d3 {background-origin: padding-box;}
    </style>
  </head>
  <body>
    <div class="d-background d1"></div>
    <div class="d-background d2"></div>
    <div class="d-background d3"></div>
  </body>
</html>

页面浏览效果:
背景图片定位区域
说明:

  • 样式属性background-origin的属性值为content-box时,表示背景图片内容区域进行定位
  • 样式属性background-origin的属性值为border-box时,表示背景图片边框为基准进行定位
  • 样式属性background-origin的属性值为padding-box时,表示背景图片填充区域进行定位。这也是该属性的默认值

9、背景剪裁区域

在CSS中,可以使用background-clip属性定义背景的剪裁区域
下面是一个示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景剪裁区域 </title>
    <style type="text/css">
      * {margin: 10px; border: 0; padding: 0;}
      .d-background {
        width: 160px;
        height: 160px;
        float: left;
        border: 30px dashed lightsalmon;
        padding: 30px;
        background-color: lightgray;
        background-image: url("images/bg.png");
        background-repeat: no-repeat;
        background-origin: border-box;
      }
      .d1 {background-clip: content-box;}
      .d2 {background-clip: border-box;}
      .d3 {background-clip: padding-box;}
    </style>
  </head>
  <body>
    <div class="d-background d1"></div>
    <div class="d-background d2"></div>
    <div class="d-background d3"></div>
  </body>
</html>

页面浏览效果:
背景剪裁区域
说明:

  • 样式属性background-clip的属性值为content-box时,表示剪裁超出盒子内容区域背景
  • 样式属性background-clip的属性值为border-box时,表示剪裁超出盒子边框背景,这也是background-clip属性的默认值
  • 样式属性background-clip的属性值为padding-box时,表示剪裁超出盒子填充区域背景

10、简写形式

在CSS中可以使用background属性一次设置常用的背景属性,background属性的常用语法格式如下:

background: [background-color] [background-image] [background-position][/background-size] [background-repeat] [background-origin] [background-clip];

下面是一个示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> 背景图片简写形式 </title>
    <style type="text/css">
      * {margin: 0; border: 0; padding: 0;}
      .d-background {
        width: 350px;
        height: 350px;
        border: 30px dashed lightsalmon;
        padding: 30px;
        background: url("images/bg.png") top left/80% repeat padding-box content-box lightgray ;
      }
    </style>
  </head>
  <body>
    <div class="d-background"></div>
  </body>
</html>

页面浏览效果:
背景图片简写形式
说明:

  • 各个属性书写的位置大多可以调换
  • 属性background-size可选,如果需要设置,要紧跟在background-position属性后面的/后。
  • 属性background-origin应该出现在属性background-clip之前。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值