[英]How to make gold effect text using CSS3
我想让我的网页中的标题文本像金色一样我不想要这样的颜色#ffd700
我想要相同的外观和感觉,就像任何图形设计师都可以在 Photoshop 中制作金色效果一样。 在这里,我附上了一个我想要的例子。
您可以使用svg
来获得效果
svg
在线渐变生成器 - http://10k.aneventapart.com/1/Uploads/319/
svg { text-shadow: -1px 0px 1px rgb(97, 100, 5); }
<svg width="550" height="50" xmlns="http://www.w3.org/2000/svg"> <defs> <linearGradient id="grad2" y2="1" x2="1" id="g" x1="1" y1="0.1433"> <stop stop-color="rgb(255, 213, 127)" offset="0" /> <stop stop-color="rgb(179, 149, 0)" offset="0.4817" /> <stop stop-color="rgb(179, 149, 0)" offset="1" /> </linearGradient> </defs> <text font-family="arial" font-size="40" id="svg_1" y="45" x="288" fill="url(#grad2)" font-weight="bold"> <tspan x="10" y="45">JANDUS TECHNOLOGIES</tspan> </text> </svg>
我知道你想使用 CSS3,但正如你提到的 HTML5,我想在这里发布一个画布替代品。 如果您使用画布元素,您将获得更好的浏览器支持。 canvas 2D API 有一个名为createLinearGradient的方法,可以通过使用不同的色标对文本应用颜色渐变:
var c = document.getElementById("stage");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
/* Color gradient */
var gradient = ctx.createLinearGradient(0, 30, 0, 10);
gradient.addColorStop("0", "#a68841");
gradient.addColorStop("0.5", "#5a4917");
gradient.addColorStop("0.6", "#836A28");
gradient.addColorStop("1.0", "#E9D07C");
/* Text shadow */
ctx.shadowColor = "rgba(0, 0, 0, 0.6)";
ctx.shadowOffsetX = 1;
ctx.shadowOffsetY = 1;
ctx.shadowBlur = 0;
ctx.fillStyle = gradient;
ctx.fillText("JANDUS TECHNOLOGIES", 0, 30);
您还可以轻松应用其他效果,例如文本阴影。
我用渐变和阴影做了一个例子。 这是 HTML 代码:
<div class="block">
<p class="golden-base golden3">Golden Text</p>
<p class="golden-base golden1">Using Only CSS</p>
<p class="golden-base golden2">NO JavaScript!</p>
<div>
这是CSS:
.block {
padding: 1em;
text-align: center;
font-family: sans;
font-size: 2em;
}
.golden-base {
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight:bold;
-webkit-margin-before: 0.3em;
-webkit-margin-after: 0.2em;
}
.golden1 {
background-image: -webkit-linear-gradient(#FFF65C, #3A2C00);
text-shadow: -0.02em -0.03em 0.005em rgba(255, 223, 0, 0.60);
}
.golden2 {
background-image: -webkit-linear-gradient(#E8D800, #E0CF00 52%, #A86800 55%, #A86800 );
text-shadow: -0.02em -0.03em 0.005em rgba(255, 255, 0, 0.56);
}
.golden3 {
background-image: -webkit-linear-gradient(#FFF65C 45%, #9A8000 75%);
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.09),
-1px -1px 0 rgba(255, 220, 0, 0.670);
font-size:2em;
}
它看起来像这样:
我不是设计师。 所以我很难根据你的需要调整颜色。 但是,您可以在这里测试并调整@codepen - 链接
免责声明:我仅使用 Google Chrome 对其进行了测试。 为了让它在不同的浏览器上工作,如果可能的话,你必须移植-webkit-tricks-...
。
根据评论和更多渐变效果进行编辑。
免责声明
这仅(目前)在 webkit 浏览器中可用
你可以使用
-webkit-background-clip
属性以获得您想要的结果。
一个样本是:
#wrap { width: 100%; } .gradient { font-size: 64px; background: linear-gradient(#00AC97 50%, #E4CDA4 50%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
<div id="wrap"> <span class="gradient">Cross browser? Not yet...</span> </div>
为了使其以更跨浏览器的方式“工作”,我(一次)不得不建议为此使用图像:(
你可以试试这个 css text gold 渐变:
background: #FECA00;
background: -webkit-linear-gradient(to bottom left, #FECA00 38%, #D07800 74%, #FF9300 91%);
background: -moz-linear-gradient(to bottom left, #FECA00 38%, #D07800 74%, #FF9300 91%);
background: linear-gradient(to bottom left, #FECA00 38%, #D07800 74%, #FF9300 91%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
结果:
或者如果你想探索另一个方向,你可以检查css 文本渐变生成器
使用 css3 中的 text-shadow 属性来获得你需要的金色效果。 请参阅http://css3gen.com/text-shadow/以获得最佳效果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.