【发布时间】:2015-12-22 03:42:44
【问题描述】:
我已经搜索过,但找不到为标题中的 3 或 4 个单词增加字体颜色(例如亮度 +10%)的解决方案。字体颜色最初会在 SCSS 中使用颜色变量设置。
示例标题:
这是我的新头衔
在这个例子中,假设标题是“深蓝色”.. 单词是:
Here = darker blue
Is = navy blue
My = medium blue
New Title = light blue
这里有一个类似的帖子:JavaScript Text Color Change To Each Word In Array 但这是在数组中搜索关键字,而不是字符串中的每个单词。
我也遇到过类似这样的基本的纯 CSS/HTML 解决方案,但这是行不通的:HTML: Changing colors of specific words in a string of text
注意: 我将在 php 变量中返回标题(字符串)——以防 PHP 中有解决方案。
目标:我需要为字符串中的每个单词增加字体颜色(或者甚至将连续单词换成 span 并增加 SCSS var)。欢迎提出建议。
更新 感谢 Tushar,我添加了一个 jsfiddle 链接 (http://jsfiddle.net/revive/xyy04u7d/) 来展示 JS 实现,并进行了一些更改以在正则表达式中包含与符号。
这里是 PHP 实现:
<?php
$title = "SIMPLE TITLE & WITHOUT COLORS";
$words = preg_split('/\s+(?!&)/', $title);
?>
<h3 class="colors blue">
<?php foreach($words as $word):?>
<span><?php echo $word; ?></span>
<?php endforeach; ?>
</h3>
【问题讨论】:
-
如果你知道 jquery,你可以使用它来做一些 dom 调整
-
对于其他想看看这个解决方案如何发挥作用的人。我在这里创建了一个 JSFIDDLE:jsfiddle.net/revive/xyy04u7d 它增加了 Tushar 提供的内容并否定了正则表达式中的 &(我需要与前面的单词在同一行)。
标签: javascript php jquery css colors