2008-12-11 9 views
10

cette question peut créer un malentendu: Je sais que je dois utiliser CSS pour valider mon document comme XHTML 1.0 Transitional. Le fait est que je dois intégrer dans ma page Web une image composée de zéros et ceux créés avec text image, et le problème est que le code utilise la balise font désapprouvée et ressemble à ceQuelle balise devrais-je utiliser à la place de police de balise obsolète en HTML (ne peut pas utiliser CSS)

<!-- IMAGE BEGINS HERE --> 
<pre> 
    <font size="-3"> 
     <font color="#000000">0001100000101101100011</font> 
     <font color="#010000">00</font> 
     <font color="#020101">0</font> 
     <font color="#040101">0</font> 
     <font color="#461919">1</font> 
     <font color="#b54f4f">1</font> 
     ...etc.etc... 
    </font> 
</pre> 
<!-- IMAGE ENDS HERE --> 

(Dans cet exemple de code I inséré un retour à la ligne après chaque paire de balises pour le rendre plus lisible, mais le code d'origine est tous dans une ligne en raison de la balise <pre>). au moins des milliers de fois les changements de couleur de la police, donc je ne considérais créer un champ dans le CSS pour chaque fois que quelqu'un combination.Hope sait au moins où trouver une solution, je cherchai partout :) Merci

+0

Lorsque vous dites que la couleur change au moins 1000 fois, voulez-vous dire qu'il y a plus de 1000 couleurs différentes? – Ken

+0

oui, je ne connais pas le bon numéro mais il y a 300 * 15 entrées (zéros ou uns) et chacune pourrait avoir une couleur différente – gc5

+0

": Je sais que je dois utiliser CSS pour valider mon document comme XHTML 1.0 Transitional" - Ce n'est pas du tout vrai. –

Répondre

31

Vous pouvez remplacer

<font color="#000000">0001100000101101100011</font>

avec

<span style="color:#000000">0001100000101101100011</span>

etc ...

* Edit: Je sais que c'est CSS, mais cela n'implique pas une feuille de style séparée comme les états de la question, ce qui peut être correct.

+0

Oups, je viens de poster exactement la même suggestion. Je vais supprimer le mien, mais je suis d'accord avec Ryan: cette solution n'utilise pas de feuille de style.Notez, cependant, que cela augmente la taille de la page d'un certain montant. – dland

2

Qu'en est-il de javascript?

Envoyez les données de couleur sous la forme d'un tableau JSON, le '0' et le '1' sous la forme d'un autre tableau et générez dynamiquement les éléments DOM.

<script> 
values = [1, 0, 0, 1, ... ] 
colors = ["010000", "020101", ...] 

for (i = 0; i < values.length; i++) { 
    span = createElement("span"); // use a portable function for creating elements 
    span.setAttribute("style", "color:#"+colors[i]); 
    txtNode = document.createTextNode(values[i]); 
    span.appendChild(txtNode); 
    document.appendChild(span); 
} 
</script> 

Ou quelque chose comme ça ...

3

Merci beaucoup! : D J'ai utilisé ce code

<!-- IMAGE BEGINS HERE --> 
<div style="font-size:x-small;font-family:monospace"> 
    <span style="color:#000000">0001100000101101100011</span> 
    <span style="color:#010000">00</span> 
    ...etc.etc... 
</div> 
<!-- IMAGE ENDS HERE --> 

Cela fonctionne correctement! : D

1

Pourquoi faut-il le valider?

La solution que vous avez déjà est absolument parfaite pour ce que vous faites. Ça marche. Ce n'est pas un document significatif qui devrait être balisé avec des étiquettes sémantiques pour une meilleure accessibilité; c'est une œuvre d'art, alors n'hésitez pas à ignorer les règles si cela vous aide à exprimer vos intentions plus clairement.

Si la validation fait partie de la déclaration artistique que vous essayez de faire, utilisez <span style="color:#ff00ff;">00</span> comme suggéré par d'autres affiches - mais cela augmentera considérablement la taille de votre fichier.

Une autre approche consiste simplement à modifier le doctype afin de ne pas cibler XHTML Transitional - utilisez plutôt <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> ou une version antérieure du code HTML.

+0

Merci de votre publication. Je suis d'accord avec vous sur le fait de ne pas suivre les règles dans certains cas, mais j'essaie de le rendre le plus proche possible du XHtml standard, et la taille du fichier n'est pas si importante pour cette page; de plus dans ce cas j'ai eu le même résultat :) – gc5

+0

Je dois dire que je ne suis pas d'accord. Il est assez communément admis que le HTML est difficile à supporter universellement en raison d'un manque d'implémentation standard. XHTML est destiné à atténuer cela, et nous devrions tous nous efforcer de répondre à la nouvelle norme et effacer la douleur du HTML original. –