📜  svg 作为背景 css (1)

📅  最后修改于: 2023-12-03 15:20:23.875000             🧑  作者: Mango

使用 SVG 作为 CSS 背景主题

简介

SVG(Scalable Vector Graphics)是一种使用 XML 描述图形的标记语言。它支持缩放、旋转、填充色等特性,并且图像不失真。在 Web 开发中,SVG 图片可以很好地和 CSS 结合使用,为我们带来更具创意和艺术性的背景主题。

实现步骤
1. 准备 SVG 图片

首先,我们需要准备一张 SVG 图片作为背景。可以在 Flaticon 或者 Freepik 等网站搜索并下载。

2. 创建 div 容器

我们需要先创建一个 div 容器,作为背景所在的元素。例如:

<div class="bg-container"></div>
3. 设置 CSS 样式

接着,我们需要设置 CSS 样式将图片作为背景。这里提供两种不同的实现方式。

3.1. 使用 background-image 属性

.bg-container {
  background-image: url("path/to/svg/file.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

解释:

  • background-image: 指定背景图片的路径
  • background-repeat: 指定是否重复平铺,这里设为不重复
  • background-size: cover: 背景图片会自动缩放以填满整个容器,并保持长宽比例不变
  • background-position: center: 背景图片居中显示

3.2. 使用 CSS 的伪元素

.bg-container {
  position: relative;
}

.bg-container::before {
  content: "";
  background-image: url("path/to/svg/file.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

解释:

  • position: relative: 定义相对定位,让伪元素能够相对于该元素定位
  • ::before: CSS 伪元素,表示在容器元素之前插入一个元素
  • content: "": 伪元素的内容为空字符串
  • position: absolute: 设置伪元素的定位方式为绝对定位,使其脱离文档流并相对于其父容器进行绝对定位
  • top: 0; left: 0; right: 0; bottom: 0;: 让伪元素占据整个容器的位置,并且自适应容器大小
实例展示

两种实现方式的效果如下图所示:

总结

使用 SVG 作为 CSS 背景主题,不仅可以提升页面美观度,还可以有效地减小图片大小,并且长期有效性。希望以上介绍能帮助到大家。