这个问题可能会造成误解:我知道我必须使用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中为每个组合创建一个字段。希望有人知道至少在哪里找到解决方案,我到处搜索:)
感谢
答案 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修订版。