Как использовать градиент как цвет шрифта в CSS?

Как использовать градиент как цвет шрифта в CSS, без использования изображений? Я хочу поддерживать Firefox.

Я использовал этот код, но он не поддерживается в Firefox:

<div class="text1"> Gradient Text</div>

.text1
 {
  font-size: 40px;
  background: -webkit-linear-gradient(#0F3, #F00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
 }

Ответ 1

вы можете использовать несколько интервалов, которые расположены друг на друге и назначают разные высоты и цвета каждому из них. Это действительно уродливое кодирование, но оно работает. http://jsfiddle.net/7yBNv/

Выбор текста ведет себя немного фанки, но не так уж плохо. И копирование копирует несколько записей (в зависимости от того, какой слой выбран). Поэтому я бы сказал, что лучше решить это с помощью svg.

(Я получил ответ отсюда, проверьте его для получения более подробной информации: http://www.bagnall.co.uk/gradient_text.asp)

HTML:

<h1 class="Gradient">Sample Gradient Text (h1)
   <span class="G1" aria-hidden="true">Sample Gradient Text (h1)</span>
   <span class="G2" aria-hidden="true">Sample Gradient Text (h1)</span>
   <span class="G3" aria-hidden="true">Sample Gradient Text (h1)</span>
   <span class="G4" aria-hidden="true">Sample Gradient Text (h1)</span>
   <span class="G5" aria-hidden="true">Sample Gradient Text (h1)</span>
</h1>

CSS

.Gradient{
    position: relative;
    overflow: hidden;
    height: 28px;
}
.Gradient,
.Gradient .G1,
.Gradient .G2,
.Gradient .G3,
.Gradient .G4,
.Gradient .G5{
    height: 28px;
    position: absolute;
    margin: 0;
    top: 0px;
    left: 0px;
    color: #4a778b;
    font-family: century gothic,helvetica,arial;
    font-size: 23px;
    font-weight: normal;
    overflow: hidden;
}
.Gradient{
    position: relative;
}
.Gradient .G5{
    height: 10px;
    color: #81a4b4;
    z-index: 6;
}
.Gradient .G4{
    height: 13px;
    color: #789eae;
    z-index: 5;
}
.Gradient .G3{
    height: 16px;
    color: #6f96a6;
    z-index: 4;
}
.Gradient .G2{
    height: 19px;
    color: #618a9c;
    z-index: 3;
}
.Gradient .G1{
    height: 22px;
    color: #547f92;
    z-index: 2;
}

Ответ 2

Поддержка Firefox:
К сожалению, только браузеры WebKit реализовали текстовый цвет. У Mozilla нет обходного пути.

Удивительный пост для этого Ли Веро:
http://lea.verou.me/2012/05/text-masking-the-standards-way/

Демо для WebKit:
http://jsfiddle.net/ondrek/trr67/

Код HTML и CSS:

<h1>hello</h1>

h1 {
  font-size: 72px;
  background: -webkit-linear-gradient(#eee, #333);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

Как создать собственный градиент:
Вы также можете генерировать собственный градиент на
http://www.colorzilla.com/gradient-editor/

Дублировать вопрос на:
CSS3 Градиент не работает в Firefox

Ответ 3

.text1
 {
  font-size: 40px;
  background: -webkit-linear-gradient(#0F3, #F00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
background: -moz-linear-gradient(#0F3, #F00);
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
 }

вам нужно указать префикс поставщика для firefox

Ответ 4

Вы можете использовать этот генератор textgradient.com для выполнения градиентов CSS.