我需要一种方法来让一个单词的每个字母旋转3种不同的颜色。我知道一些不那么干净的方法我可以用asp.NET做到这一点,但我想知道是否有更清洁的CSS / JavaScript解决方案更适合搜索引擎。
设计师为每个页面添加a file like this。我宁愿不必为每个页面手动生成图像,因为这使得非技术站点编辑很难添加页面和更改页面名称。
答案 0 :(得分:13)
这是一些JavaScript。
<script type="text/javascript">
var message = "The quick brown fox.";
var colors = new Array("#ff0000","#00ff00","#0000ff"); // red, green, blue
for (var i = 0; i < message.length; i++)
document.write("<span style=\"color:" + colors[(i % colors.length)] + ";\">" + message[i] + "</span>");
</script>
答案 1 :(得分:6)
在服务器端,您可以轻松地做到这一点,而不会烦人的搜索引擎AFAIK。
// This server-side code example is in JavaScript because that's
// what I know best.
var words = split(message, " ");
var c = 1;
for(var i = 0; i < words.length; i++) {
print("<span class=\"color" + c + "\">" + words[i] + "</span> ");
c = c + 1; if (c > 3) c = 1;
}
如果您真的想要简单的内联HTML代码,请编写客户端Javascript以从给定的P或DIV或基于其ID的任何内容中检索消息,拆分它,如上所述重新编码,并替换P或DIV的'innerHTML'属性。
答案 2 :(得分:6)
肯定没有使用CSS的解决方案,因为CSS选择器不允许您访问单个字母(:first-letter
除外)。
答案 3 :(得分:1)
我不必为每个页面手动生成图像
然后自动生成图像。
您没有指定您正在使用的服务器端技术,但任何好的技术都允许您操作图像(或至少调用外部图像实用程序)
所以非技术用户只需要这样做:
<img src="images/redblueyellow.cfm/programs.png" alt="programs"/>
然后redblueyellow.cfm脚本将使用现有的programs.png或根据需要生成具有多种颜色的新图像。
如果您愿意,我可以提供样本CFML或伪代码吗?