编程笔记 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	规定背景图像的尺寸。

还是颜色更有用。

相关推荐
丹宇码农3 小时前
把 HLS 字幕玩出花:zwPlayer 如何让 M3U8 视频支持全文搜索、翻译与码率自适应
前端·javascript·音视频·hls·视频播放器
GuWenyue4 小时前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能
用户938515635074 小时前
深入理解 JavaScript 中的 this 与数据存储的奥秘
前端·javascript
Tian_Hang4 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
竹林8187 小时前
用 Pinata + IPFS 存 NFT 元数据踩了三天坑,我总结了这份完整的前端实现方案
javascript
林希_Rachel_傻希希7 小时前
web性能优化之延迟加载图片和<inframe>
前端·javascript·面试
小米渣的逆袭8 小时前
Chrome Extension Script World(ISOLATED / MAIN)原理与适用场景
前端·javascript·chrome
Esaka_Forever9 小时前
Python 与 JS (V8) 垃圾回收核心区别 + 底层根源分析
开发语言·javascript·jvm
林希_Rachel_傻希希9 小时前
web性能优化之——AI总结视频
前端·javascript·面试
binbin_529 小时前
UIAbility 与 WindowStage:窗口创建、加载、销毁的完整链路
开发语言·javascript·深度学习·华为·harmonyos