我和一位非常擅长CSS的朋友聊过,他能够使用以下代码解决这个问题:
<section class="originals">
<h3 class="gradient-text">We make, design, engineer, create, illuminate, record, capture, code, program, open, decide, speak, blend, paint, construct, launch, markup, ignite, form, defend, ink.</h3>
</section>
CSS
.gradient-text {
color: #00e1ff;
}
@supports (mix-blend-mode: lighten) {
.gradient-text {
display: inline-block;
position: relative;
color: #fff;
background: #000;
mix-blend-mode: lighten;
}
.gradient-text::before {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: -webkit-linear-gradient(120deg,#00e1ff, #ffeb50);
background: linear-gradient(120deg,#00e1ff, #ffeb50);
pointer-events: none;
mix-blend-mode: multiply;
}
}
/* Page styling, ignore */
body {
margin: 0;
font-family: "Lato", sans-serif;
text-align: center;
}
.originals {
background: #0C2322;
min-height: 50vh;
padding: 2em;
}
h3 {
font-size: 2em;
margin: 0.5em;
opacity: 0.9;
}
这使得渐变在Chrome、Safari和Firefox中保持一致。对于IE来说,它会回落到纯青色。