编程笔记 html5&css&js 038 CSS背景

编程笔记 html5&css&js 038 CSS背景

  • [一、CSS 背景属性](#一、CSS 背景属性)
  • [二、CSS background-color](#二、CSS background-color)
  • [三、不透明度 / 透明度](#三、不透明度 / 透明度)
  • [四、使用 RGBA 的透明度](#四、使用 RGBA 的透明度)
  • [五、CSS 背景图像](#五、CSS 背景图像)
  • [六、CSS 背景重复](#六、CSS 背景重复)
    • [CSS background-repeat](#CSS background-repeat)
    • [CSS background-repeat: no-repeat](#CSS background-repeat: no-repeat)
    • [CSS background-position](#CSS background-position)
  • 七、练习
  • [小结:所有 CSS 背景属性](#小结:所有 CSS 背景属性)

背景在样式当中首当其冲,一开始我就讲这背景很重要,背景过亮伤眼是一个重要问题,合理配置背景色,改善感观效果,也是网页设计的一件重要的事。CSS 背景属性用于定义元素的背景效果。

一、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>

小结:所有 CSS 背景属性

属性	描述
background	在一条声明中设置所有背景属性的简写属性。
background-attachment	设置背景图像是固定的还是与页面的其余部分一起滚动。
background-clip	规定背景的绘制区域。
background-color	设置元素的背景色。
background-image	设置元素的背景图像。
background-origin	规定在何处放置背景图像。
background-position	设置背景图像的开始位置。
background-repeat	设置背景图像是否及如何重复。
background-size	规定背景图像的尺寸。

还是颜色更有用。

相关推荐
前端小小王11 分钟前
React Hooks
前端·javascript·react.js
迷途小码农零零发21 分钟前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
荆州克莱2 小时前
mysql中局部变量_MySQL中变量的总结
spring boot·spring·spring cloud·css3·技术
sunshine6413 小时前
【CSS】实现tag选中对钩样式
前端·css·css3
真滴book理喻4 小时前
Vue(四)
前端·javascript·vue.js
程序员_三木4 小时前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
开心工作室_kaic5 小时前
springboot476基于vue篮球联盟管理系统(论文+源码)_kaic
前端·javascript·vue.js
川石教育5 小时前
Vue前端开发-缓存优化
前端·javascript·vue.js·缓存·前端框架·vue·数据缓存
搏博5 小时前
使用Vue创建前后端分离项目的过程(前端部分)
前端·javascript·vue.js
温轻舟6 小时前
前端开发 之 12个鼠标交互特效上【附完整源码】
开发语言·前端·javascript·css·html·交互·温轻舟