繁体   English   中英

如何使用CSS3制作金色效果文字

[英]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;
}

它看起来像这样:

仅使用 css 的金色文本

我不是设计师。 所以我很难根据你的需要调整颜色。 但是,您可以在这里测试并调整@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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM