小夭夭 發表於 2026-5-3 22:16:40

CSS实现文字字体颜色渐变的三种方法

<h2>第一种方法</h2>
<div class="jb51code"><pre class="brush:css;">/*实现文字颜色从红到黄的线性渐变效果*/
.gradient-text {
background: linear-gradient(to right, #ff0000, #ffff00); /*设置渐变的方向从左到右 颜色从ff0000到ffff00*/
-webkit-background-clip: text;/*将设置的背景颜色限制在文字中*/
-webkit-text-fill-color: transparent;/*给文字设置成透明*/
}</pre></div>
<h2>第二种方法&nbsp;SVG图像实现text-fill-color(兼容性不好,不推荐)</h2>
<div class="jb51code"><pre class="brush:css;">/*利用SVG图像实现文字颜色从蓝到白的渐变效果*/
.gradient-color {
background: url('data:image/svg+xml;utf8,&lt;svg xmlns="http://www.w3.org/2000/svg"&gt;&lt;linearGradient id="Gradient"&gt;&lt;stop offset="0%" stop-color="blue"/&gt;&lt;stop offset="100%" stop-color="white"/&gt;&lt;/linearGradient&gt;&lt;mask id="Mask"&gt;&lt;text x="0" y="50%" dy=".35em"&gt;Gradients are awesome!&lt;/text&gt;&lt;/mask&gt;&lt;rect x="0" y="0" width="100%" height="100%" fill="url(#Gradient)" mask="url(#Mask)"/&gt;&lt;/svg&gt;');
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}</pre></div>
<p>通过url属性引用SVG图像, SVG是一种用于描述矢量图形的XML标记语言。利用这个属性,我们可以在文字中嵌入SVG图像,实现渐变色效果。</p>
<h2>第三种方法</h2>
<div class="jb51code"><pre class="brush:css;">/*利用background-clip属性实现文字颜色从绿到白的渐变效果*/
.gradient-color {
background-image: linear-gradient(to right, green, white);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}</pre></div>
<p>background-clip是CSS3中新增的属性,可以用于指定背景图片或颜色的绘制范围。</p>
<p>以上三种方法都可以实现文字的颜色渐变</p>
頁: [1]
查看完整版本: CSS实现文字字体颜色渐变的三种方法