css - 使用 CSS 的 SVG 渐变

标签 css svg gradient linear-gradients

我正在尝试将渐变应用于 SVG rect 元素。

目前,我正在使用 fill 属性。在我的 CSS 文件中:

rect {
    cursor: pointer;
    shape-rendering: crispEdges;
    fill: #a71a2e;
}

并且 rect 元素在浏览器中查看时具有正确的填充颜色。

但是,我想知道是否可以对这个元素应用线性渐变?

最佳答案

只需在 CSS 中使用您将在 fill 属性中使用的任何内容。 当然,这需要您在 SVG 中的某处定义线性渐变。

这是一个完整的例子:

rect {
    cursor: pointer;
    shape-rendering: crispEdges;
    fill: url(#MyGradient);
}
<svg width="100" height="50" version="1.1" xmlns="http://www.w3.org/2000/svg">
      <style type="text/css">
        rect{fill:url(#MyGradient)}
      </style>
      <defs>
        <linearGradient id="MyGradient">
          <stop offset="5%" stop-color="#F60" />
          <stop offset="95%" stop-color="#FF6" />
        </linearGradient>
      </defs>
      
      <rect width="100" height="50"/>
    </svg>

关于css - 使用 CSS 的 SVG 渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14051351/

相关文章:

html - 具有不同渐变颜色的可重用 SVG

JavaFX Slider : Track length? 刻度标签颜色?

javascript - 在 Raphael 中通过 CSS 控制矩形的填充

c - svg 在记事本中编辑并在浏览器中流式传输

swift : Animate SKSpriteNode Gradient

ios - 在具有多个部分的 tableView 中滚动时,使用流畅的动画更改 View 背景渐变颜色

android - 色带仅适用于 Android 4.0+

html - 如何将在主类中有其他 div 类的 div 居中?

javascript - Angular Material 2 md-tab内容高度

Javascript:更改第一个子样式