14

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

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

4 回答 4

40

你可以更换

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

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

ETC...

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

于 2008-12-11T08:05:16.527 回答
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>

或者类似的东西...

于 2008-12-11T08:43:08.400 回答
2

非常感谢!:DI 使用了这个代码

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

于 2008-12-11T09:22:30.270 回答
0

为什么需要验证?

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

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

另一种方法只是更改文档类型,这样您就不会以 XHTML 过渡为目标 - 使用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">或一些较早的 HTML 修订版。

于 2008-12-11T09:22:39.460 回答