只为载入史册!
我为自己 5-6 年前的工作提出了一个解决方案,即 Gradext(纯 javascript 和纯 css,无依赖)。
技术解释是你可以像这样创建一个元素:
<span>A</span>
现在,如果您想在文本上制作渐变,您需要创建多个图层,每个图层都有特定的颜色,并且创建的光谱将说明渐变效果。
例如看看这是<span>里面的单词lorem,它会导致水平渐变效果(check the examples):
<span data-i="0" style="color: rgb(153, 51, 34);">L</span>
<span data-i="1" style="color: rgb(154, 52, 35);">o</span>
<span data-i="2" style="color: rgb(155, 53, 36);">r</span>
<span data-i="3" style="color: rgb(156, 55, 38);">e</span>
<span data-i="4" style="color: rgb(157, 56, 39);">m</span>
你可以在很长一段时间和很长的段落中继续这种模式。
但是!
如果您想在文本上创建垂直渐变效果怎么办?
还有另一种可能会有所帮助的解决方案。我会详细描述的。
再次假设我们的第一个<span>。但内容不应该是单独的字母;内容应该是整个文本,现在我们将一次又一次地复制相同的 <span>(跨度数将定义渐变的质量,跨度越大,结果越好,但性能不佳)。看看这个:
<span data-i="6" style="color: rgb(81, 165, 39); overflow: hidden; height: 11.2px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="7" style="color: rgb(89, 174, 48); overflow: hidden; height: 12.8px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="8" style="color: rgb(97, 183, 58); overflow: hidden; height: 14.4px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="9" style="color: rgb(105, 192, 68); overflow: hidden; height: 16px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="10" style="color: rgb(113, 201, 78); overflow: hidden; height: 17.6px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="11" style="color: rgb(121, 210, 88); overflow: hidden; height: 19.2px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
再次,但是!
如果您想让这些渐变效果移动并从中创建动画怎么办?
好吧,还有另一种解决方案。您绝对应该检查animation: true 甚至.hoverable() 方法,这将导致基于光标位置开始渐变! (听起来很酷 xD)
这就是我们在文本上创建渐变(线性或径向)的简单方法。如果您喜欢这个想法或想了解更多信息,您应该查看提供的链接。
也许这不是最佳选择,也许不是执行此操作的最佳性能方式,但它会开辟一些空间来创建令人兴奋和令人愉快的动画,从而激发其他人寻求更好的解决方案。
它将允许您在文本上使用渐变样式,甚至 IE8 都支持!
Here you can find a working live demo 原始存储库是 here on GitHub as well, open source 并准备好获取一些更新 (:D)
这是我第一次(是的,5 年后,你没听错)在 Internet 上的任何地方提及这个存储库,对此我很兴奋!
[更新 - 2019 年 8 月:] Github 删除了该存储库的 github-pages 演示,因为我来自伊朗!只有源代码可用here tho...