我应该使用什么标签代替html中不推荐使用的标签字体(不能使用CSS)

时间:2008-12-11 08:02:47

标签: css xhtml transitional

这个问题可能会造成误解:我知道我必须使用CSS来成功验证我的文档为XHTML 1.0 Transitional。事实是,我必须在我的网页中嵌入由零和由text image创建的图片组成的图片,问题是代码使用了弃用的标记字体,看起来像这样

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

(在这个代码示例中,我在每两个标记之后插入一个换行符以使其更具可读性,但由于<pre>标记,原始代码全部在一行中。 字体的颜色变化至少数千次,所以我从不考虑在CSS中为每个组合创建一个字段。希望有人知道至少在哪里找到解决方案,我到处搜索:) 感谢

4 个答案:

答案 0 :(得分:34)

你可以替换

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

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

等...

*编辑:我知道这是CSS,但它不涉及单独的样式表,如问题状态,这可能没问题。

答案 1 :(得分:3)

非常感谢! :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 :(得分:2)

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>

或类似的东西......

答案 3 :(得分:1)

为什么需要验证?

你已经获得的解决方案绝对适合你正在做的事情。有用。这不是一个有意义的文档,应该使用语义标记进行标记,以提高可访问性;这是一件艺术品,所以如果能帮助你更清楚地表达你的意图,请随意忽略这些规则。

如果验证是您尝试制作的艺术声明的一部分,请按照其他海报的建议使用<span style="color:#ff00ff;">00</span> - 但这会大大增加您的文件大小。

另一种方法是更改​​doctype,这样您就不会针对XHTML Transitional - 使用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">或更早的HTML修订版。