有什么方法可以不经过解析就显示 HTML 标签吗?像 XMP
这样的标签以前工作得很好,但现在它被 PRE
取代了,这不是很酷。看看这个例子:
//This used to NOT PARSE HTML even if you used standard < and >.
<XMP>
<a hred="http://example.com">Link</a>
</XMP>
//New PRE tag requires < and > as replacement for < and >.
<PRE>
<a href="http://example.com">Link</A>
</PRE>
我要找的是旧的 XMP 标签。新的 PRE 标签将解析代码。
最佳答案
您可以使用 script
元素及其 type
设置为表示纯文本,并设置其 display
属性(property)block
.这只会影响解析行为:没有标记(标签或实体或字符引用)被识别,除了元素本身的结束标记 </script>
. (因此它与 xmp
不完全相同,其中识别的标签是 </xmp>
。)您可以单独进行类似于 xmp
的空白处理。和 pre
和/或默认将字体设置为这些元素中的等宽字体。
例子:
<style>
script {
display: block;
}
</style>
然后在文档正文中:
<script type="text/plain">
<i>é</i>
</script>
在最新版本的 IE、Chrome、Firefox、Opera 上测试。在 IE 9 上的 IE 8 和 IE 7 仿真中不起作用,但这可能是仿真中的错误。
但是,我不明白你为什么要用这个而不是 xmp
,它并没有停止工作。它不在规范中,但如果你担心这一点,你应该一直担心。在 HTML 2.0(有史以来第一个 HTML 规范)中提到它是可以避免的,它在 HTML 3.2 中被弃用并在 HTML 4.0 中完全删除(很久以前:1997 年)。
xmp
是东山再起,而不是死去。 W3C HTML5(W3C 工作人员将其描述为当前的 HTML 规范)声明 xmp
作为过时和不合格的,但它也强加了 requirement在浏览器上:“用户代理必须对待 xmp
等同于 pre
的元素语义和渲染目的的元素。 (虽然解析器对此元素有特殊行为。)”因此,旧的解析行为不是明确要求的,而是明确暗示的。
关于html - 是否有一种 HTML/CSS 方法可以在不解析的情况下显示 HTML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673978/