How do I use a gradient as a font color in CSS, without using images? I want to support Firefox.
I have used this code but it's not supported in 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;
}
To add a gradient overlay to a text element, we need to set three different CSS properties to the text we want to style: background-image: <gradient> background-clip: text. text-fill-color: transparent.
For example color: linear-gradient(yellow, red) won't work. But gradient text can be achieved in CSS, it just requires a few extra steps. It's best to start with some big bold text. This will make the gradient more visible and the text more readable.
you can use multiple spans that are positioned on top of each other and assign a different height and color to each of them. Its really ugly coding wise, but it works. http://jsfiddle.net/7yBNv/
Text selection is behaving a bit funky, but not too bad. And copying copies several entries (depending on which layer is selected) So I'd say you are better of solving this with svg's.
(I got the answer from here ,check there for more details: 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;
}
Firefox Support:
Unfortunately, only WebKit browsers implemented text-fill-color.
There is no workaround for Mozilla yet.
Awesome post to this by Lea Verou:
http://lea.verou.me/2012/05/text-masking-the-standards-way/
Demo for WebKit:
http://jsfiddle.net/ondrek/trr67/
Code of HTML and CSS:
<h1>hello</h1>
h1 {
font-size: 72px;
background: -webkit-linear-gradient(#eee, #333);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
How to generate own gradient:
You can also generate own gradient at
http://www.colorzilla.com/gradient-editor/
Duplicate to a question on:
CSS3 Gradient not working in Firefox
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With