一、CSS 背景属性

这些属性都和背景有关。
background-color
background-image
background-repeat
background-attachment
background-position

二、CSS background-color

background-color 属性指定元素的背景色。

body {
  background-color: lightblue;
}

通过 CSS,颜色通常由以下方式指定:
有效的颜色名称 - 比如 “red”
十六进制值 - 比如 “#ff0000”
RGB 值 - 比如 “rgb(255,0,0)”
颜色值前面已经讲过,回去查看。
您可以为任何 HTML 元素设置背景颜色:

h1 {
  background-color: green;
}
div {
  background-color: lightblue;
}
p {
  background-color: yellow;
}

三、不透明度 / 透明度

opacity 属性指定元素的不透明度/透明度。取值范围为 0.0 - 1.0。值越低,越透明:

div {
  background-color: green;
  opacity: 0.3;
}

注意:使用 opacity 属性为元素的背景添加透明度时,其所有子元素都继承相同的透明度。这可能会使完全透明的元素内的文本难以阅读。

四、使用 RGBA 的透明度

如果您不希望对子元素应用不透明度,例如上面的例子,请使用 RGBA 颜色值。
RGBA 颜色值指定为:rgba(red, green, blue, alpha)。alpha 参数是介于 0.0(完全透明)和 1.0(完全不透明)之间的数字。

div {
  background: rgba(0, 128, 0, 0.3) /* 30% 不透明度的绿色背景 */
}

五、CSS 背景图像

background-image 属性指定用作元素背景的图像。
默认情况下,图像会重复,以覆盖整个元素。

body {
  background-image: url("bgdesert.jpg");
}

注意:使用背景图像时,请使用不会干扰文本的图像。
还可以为特定元素设置背景图像,例如 <p> 元素:

p {
  background-image: url("paper.gif");
}

六、CSS 背景重复

CSS background-repeat

默认情况下,background-image 属性在水平和垂直方向上都重复图像。
某些图像应只适合水平或垂直方向上重复,否则它们看起来会很奇怪,如下所示:

body {
  background-image: url("gradient_bg.png");
}

如果上面的图像仅在水平方向重复 (background-repeat: repeat-x;),则背景看起来会更好:

body {
  background-image: url("gradient_bg.png");
  background-repeat: repeat-x;
}

如需垂直重复图像,请设置 background-repeat: repeat-y;。

CSS background-repeat: no-repeat

background-repeat 属性还可指定只显示一次背景图像:
背景图像仅显示一次:

body {
  background-image: url("tree.png");
  background-repeat: no-repeat;
}

背景图像与文本放置在同一位置。我们想要更改图像的位置,以免图像过多干扰文本。

CSS background-position

background-position 属性用于指定背景图像的位置。
把背景图片放在右上角:

body {
  background-image: url("tree.png");
  background-repeat: no-repeat;
  background-position: right top;
}

七、练习

<!DOCTYPE html>
<html lang="zh-cn">
   <title>编程笔记 html5&css&js CSS背景</title>
   <meta charset="utf-8" />
   <style>
      body {
         display: flex;
         justify-content: center; /* 水平居中 */
         align-items: center; /* 垂直居中(如果需要的话) */
         height: 100vh; /* 使整个视窗区域生效 */
         color: cyan;
         background: teal;
      }
      div {
         width: 350px; /* 设置容器的宽度 */
         height: 260px;
         border: 1px solid #333;
         padding: 2px 2px;
      }
      #c1 {
         background: red;
         opacity: 0.5;
      }
      #c2 {
         background: yellow;
         opacity: 0.6;
      }
      #c3 {
         background: blue;
         opacity: 0.7;
      }
      #c4 {
         background: orange;
         opacity: 0.8;
      }
   </style>
   <body>
      <div id="c1"></div>
      <div id="c2"></div>
      <div id="c3"></div>
      <div id="c4"></div>
   </body>
</html>

小结

还是颜色更有用。

01-16 06:36