Какой тег я должен использовать вместо устаревшего шрифта тега в HTML (не может использовать CSS) - PullRequest
10 голосов
/ 11 декабря 2008

этот вопрос может создать недоразумение: я знаю, что должен использовать CSS для успешной проверки моего документа как XHTML 1.0 Transitional. Дело в том, что мне нужно встраивать в мою веб-страницу картинку, состоящую из нулей и созданную с text image , и проблема в том, что код использует устаревший тег-шрифт и выглядит так:

<code><!-- 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>). Цвет шрифта меняется по крайней мере тысячи раз, поэтому я никогда не думал создавать поле в CSS для каждой комбинации. Надеюсь, кто-то хотя бы знает, где найти решение, я искал везде :) Спасибо

Ответы [ 4 ]

34 голосов
/ 11 декабря 2008

Вы можете заменить

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

с

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

и т.д ...

* Редактировать: я знаю, что это CSS, но он не включает отдельную таблицу стилей, такую ​​как состояния вопроса, которая может быть в порядке.

3 голосов
/ 11 декабря 2008

Спасибо большое! : D Я использовал этот код

<!-- 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 -->

Работает правильно! : D

2 голосов
/ 11 декабря 2008

А как насчет JavaScript?

Отправьте данные цвета в виде массива JSON, а «0» и «1» - в качестве другого массива и динамически сгенерируйте элементы 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>

Или как то так ...

1 голос
/ 11 декабря 2008

Зачем это нужно проверять?

Решение, которое вы уже получили, абсолютно подходит для того, что вы делаете. Оно работает. Это не значимый документ, который должен быть помечен семантическими тегами для улучшения доступности; это произведение искусства, поэтому не стесняйтесь игнорировать правила, если это поможет вам более четко выразить свои намерения.

Если валидация является частью художественного заявления, которое вы пытаетесь сделать, тогда используйте <span style="color:#ff00ff;">00</span>, как предлагают другие авторы, но это значительно увеличит размер вашего файла.

Другой подход состоит в том, чтобы просто изменить тип документа, чтобы вы не нацеливались на XHTML Transitional - вместо этого используйте <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> или более раннюю версию HTML.

...