我可以使用CSS3 / HTML 5在文本上使用水平多色渐变吗?

时间:2011-04-12 11:32:15

标签: css css3 sifr gradient

我正在尝试使用CSS 3样式替换当前在网站上使用的基于sIFR的闪光效果。我使用CSS 3可以很好地处理文本渐变效果,但原始的sIFR实现有多种颜色,而不仅仅是一种颜色的简单渐变。

有人能为我提供一个样式,例如使用水平轴上的多种颜色来设置文本元素,例如H2吗?

谢谢, 布赖恩。

2 个答案:

答案 0 :(得分:6)

据我所知,这只能在webkit中使用

h1 {
  font-size: 72px;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    color-stop(0.03, rgb(250,3,3)),
    color-stop(0.52, rgb(240,255,127)),
    color-stop(0.76, rgb(42,24,173)));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

http://jsfiddle.net/gEGHq/1

答案 1 :(得分:4)

enter image description here

以下是SVG代码示例 - 使用FF4,Safari 5和Chrome进行测试。请注意,您必须将此服务作为Safari的XHTML页面来呈现它。这也适用于IE9,但我没有测试过。

<svg
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   version="1.1">

  <defs
     id="FooDefs">
    <linearGradient
       id="MyFirstGradient"
       x1="400"
       y1="350"
       x2="400"
       y2="420"
       gradientUnits="userSpaceOnUse">
      <stop
         id="stop1"
         style="stop-color:#1acf86;"
         offset="0" />
      <stop
         id="stop2"
         style="stop-color:#ff0051;"
         offset="0.25" />
      <stop
         id="stop3"
         style="stop-color:#1da1c9;"
         offset="0.625" />
      <stop
         id="stop4"
         style="stop-color:#e45f25;"
         offset="1" />
    </linearGradient>
  </defs>
    <text
         x="150"
         y="420"
         id="textBAR"
         style="font-size:72px;fill:url(#MyFirstGradient);">
BIG TEXT TEST
</text>
</svg>