这篇文章主要为大家展示了“css文字颜色渐变的实现方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css文字颜色渐变的实现方式有哪些”这篇文章吧。
基础样式:
.gradient-text{text-align:left;text-indent:30px;line-height:50px;font-size:40px;font-weight:bolder;position:relative;}
第一种方法,使用background-cli、text-fill-color:
.gradient-text-one{
background-image:-webkit-linear-gradient(bottom,red,#fd8403,yellow);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
说明:
background:-webkit-linear-gradient(...)为文本元素提供渐变背景。
webkit-text-fill-color:transparent使用透明颜色填充文本。
webkit-background-clip:text用文本剪辑背景,用渐变背景作为颜色填充文本。
第二种方法,使用mask-image:
.gradient-text-two{
color:red;
}
.gradient-text-two[data-content]::after{
content:attr(data-content);
display:block;
position:absolute;
color:yellow;
left:0;
top:0;
z-index:2;
-webkit-mask-image:-webkit-gradient(linear,00,0bottom,from(yellow),to(rgba(0,0,255,0)));
}
说明:
mask-image和background-image一样,不仅可以取值是图片路径,也可以是渐变色。
第三种方法,使用linearGradient、fill:
.gradient-text-three{
fill:url(#SVGID_1_);
font-size:40px;
font-weight:bolder;
}
<svgviewBoxs="00500300"class="svgBox">
<defs>
<linearGradientid="SVGID_1_"gradientUnits="userSpaceOnUse"x1="0"y1="10"x2="0"y2="50">
<stopoffset="0"style="stop-color:yellow"/>
<stopoffset="0.5"style="stop-color:#fd8403"/>
<stopoffset="1"style="stop-color:red"/>
</linearGradient>
</defs>
<texttext-anchor="middle"class="gradient-text-three"x="110px"y="30%">花信年华</text>
</svg>
说明:
在SVG中,有两种主要的渐变类型:
线性渐变(linearGradient)
放射性渐变(radialGradient)
SVG中的渐变不仅可以用于填充图形元素,还可以填充文本元素
dom示例:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
<title>CSS3渐变字体</title>
<linkrel="stylesheet"href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
<scriptsrc="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
<scriptsrc="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<styletype="text/css">
*{margin:0;padding:0;}
body,html{width:100%;height:100%;}
.wrapper{width:80%;margin:0auto;margin-top:30px;}
.gradient-text{text-align:left;text-indent:30px;line-height:50px;font-size:40px;font-weight:bolder;position:relative;}
.gradient-text-one{
background-image:-webkit-linear-gradient(bottom,red,#fd8403,yellow);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
.gradient-text-two{
color:red;
}
.gradient-text-two[data-content]::after{
content:attr(data-content);
display:block;
position:absolute;
color:yellow;
left:0;
top:0;
z-index:2;
-webkit-mask-image:-webkit-gradient(linear,00,0bottom,from(yellow),to(rgba(0,0,255,0)));
}
.gradient-text-three{
fill:url(#SVGID_1_);
font-size:40px;
font-weight:bolder;
}
</style>
</head>
<body>
<sectionclass="wrapper">
<pclass="panelpanel-info">
<pclass="panel-heading">
<h4class="panel-title">方法1.background-clip+text-fill-color</h4>
</p>
<pclass="panel-body">
<h4class="gradient-textgradient-text-one">花样年华</h4>
</p>
</p>
<pclass="panelpanel-warning">
<pclass="panel-heading">
<h4class="panel-title">方法2.mask-image</h4>
</p>
<pclass="panel-body">
<h4class="gradient-textgradient-text-two"data-content="豆蔻年华">豆蔻年华</h4>
</p>
</p>
<pclass="panelpanel-danger">
<pclass="panel-heading">
<h4class="panel-title">方法3.svglinearGradient</h4>
</p>
<pclass="panel-body">
<svgviewBoxs="00500300"class="svgBox">
<defs>
<linearGradientid="SVGID_1_"gradientUnits="userSpaceOnUse"x1="0"y1="10"x2="0"y2="50">
<stopoffset="0"style="stop-color:yellow"/>
<stopoffset="0.5"style="stop-color:#fd8403"/>
<stopoffset="1"style="stop-color:red"/>
</linearGradient>
</defs>
<texttext-anchor="middle"class="gradient-text-three"x="110px"y="30%">花信年华</text>
</svg>
</p>
</p>
</section>
</body>
</html>
以上是“css文字颜色渐变的实现方式有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!