📜  具有多种颜色的 svg (1)

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

使用多种颜色的 SVG

SVG 是一种可缩放矢量图形格式,其主要目的是在 Web 上显示图形。它可以包括文本、形状、图像和动画,所有这些都可以使用多种颜色。在本文中,我们将介绍如何在 SVG 中使用多种颜色,并提供一些示例。

填充颜色

SVG 包括两种主要的元素:形状和路径。这些元素可以用不同的颜色进行填充。要设置 SVG 元素的填充颜色,请使用 fill 属性。下面是一个示例:

<svg width="100" height="100">
  <rect x="10" y="10" width="80" height="80" fill="red" />
</svg>

在这个示例中,我们创建了一个矩形,并将其填充为红色。fill 属性的值可以为任何有效的 CSS 颜色值,包括预定义的颜色名称、十六进制值和 RGB 值。

描边颜色

除了填充颜色,SVG 元素还可以设置描边颜色。要设置 SVG 元素的描边颜色,请使用 stroke 属性。下面是一个示例:

<svg width="100" height="100">
  <rect x="10" y="10" width="80" height="80"
        stroke="black" stroke-width="2" />
</svg>

在这个示例中,我们创建了一个矩形,并将其描边为黑色。我们还使用 stroke-width 属性来定义描边的宽度。stroke 属性的值也可以是任何有效的 CSS 颜色值。

渐变

SVG 还支持使用渐变来制作更为复杂的效果。渐变可以用于填充和描边。以下是一个线性渐变的示例:

<svg width="100" height="100">
  <defs>
    <linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
  </defs>
  <rect x="10" y="10" width="80" height="80" fill="url(#grad)" />
</svg>

在这个示例中,我们创建了一个定义线性渐变的 linearGradient 元素。我们使用了两个 stop 元素来定义渐变的起点和终点。最后,我们将矩形的填充颜色设置为 url(#grad),这表示我们使用了一个 ID 为 grad 的渐变。

图片

SVG 也可以包含图片,并对其进行多种颜色的处理。以下是一个示例,演示如何使用图片作为 SVG 的填充颜色:

<svg width="100" height="100">
  <defs>
    <pattern id="img" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100">
      <image xlink:href="https://picsum.photos/id/1000/100/100" x="0" y="0" width="100" height="100" />
    </pattern>
  </defs>
  <rect x="10" y="10" width="80" height="80" fill="url(#img)" />
</svg>

在这个示例中,我们定义了一个 pattern 元素,并在其中包含了一张图片。最后,我们将矩形的填充颜色设置为 url(#img)

结论

以上是使用多种颜色的 SVG 的一些示例。SVG 可以使用填充颜色、描边颜色、渐变和图片来制作多种颜色效果。我们希望这篇文章能帮助您在编写 SVG 图形时更好地使用颜色。