2008-09-30 10 views
9

Her kelimenin bir harfinin 3 farklı renkte dönmesine izin vermenin bir yoluna ihtiyacım var. Ben bu kadar temiz bir yol olmadığını biliyorum asp.NET ile bunu yapabilirim, ama daha fazla arama motoru dostu olan daha temiz bir CSS/JavaScript çözümü olup olmadığını merak ediyorum.Her harfi farklı bir renkte yapmak için temiz bir CSS yöntemi var mı?

Tasarımcı, her sayfa için a file like this'u içeriyor. Teknik olmayan site editörlerinin sayfa eklemesini ve sayfa adlarını değiştirmesini zorlaştıran, her sayfa için bir görüntüyü elle oluşturmak zorunda kalmamayı tercih ediyorum.

+1

Ne için ihtiyacınız var? –

cevap

12

İşte bazı 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> 
6

Sunucu tarafında, rahatsız edici arama motorları AFAIK olmadan bunu kolayca yapabilirsiniz. Gerçekten ölü basit satır içi HTML kodunu istiyorsanız

// 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; 
} 

, belirli bir P veya DIV veya kimliklerine göre, o split ne olursa olsun dışarı mesajı almak için istemci tarafı JavaScript yazma, yukarıdaki gibi onu recode ve yerine P veya DIV'nin 'innerHTML' özelliği.

+0

Örnek kodum, mesaj sözcüğünü kelime ile işliyor ve OP bunu karakterle yapmak istiyor ... ama siz de umarsınız. –

6

CSS seçicileri size bireysel harfler (:first-letter dışında) erişimi vermediğinden, yalnızca CSS kullanarak kesinlikle bir çözüm yoktur.

1

Doğrusu elle her sayfada

Sonra otomatik görüntü oluşturmak için bir görüntü oluşturmak için istemem.

kullanmakta olduğunuz sunucu tarafı teknolojisi Sen belirtmeyen, ancak herhangi bir iyi bir sen

(harici bir görüntü programı ya da en azından çağrı) görüntüleri işlemek için izin verecektir Yani teknik olmayan kullanıcılar olur sadece böyle bir şey yapmak gerekir:

<img src="images/redblueyellow.cfm/programs.png" alt="programs"/> 

ve redblueyellow.cfm komut ardından mevcut programs.png kullanabilir veya arzu edildiği gibi birden fazla renk ile yeni bir resim oluşturacaktır ya.

İsterseniz, bunun için örnek CFML veya sözde kod sağlayabilirim?

+0

Bu benim en güçlü eğilimim. ASP.NET kullanıyoruz. Yapması oldukça kolay olmalı, önbelleğe alma ile, performans iyi olmalı ve istediğimiz yazı tipini kullanacağız. – EfficionDave

+1

Metin içeriğinin görüntü değişimi erişilebilirlik sorunları ile doludur. Bu genellikle tavsiye edilmez. Kalabalık ama daha açık çözüm, – annakata

+1

Huh? Lütfen erişilebilirlik sorunlarının neler olduğunu genişletin ... –

İlgili konular