是否有HTML/CSS方式显示HTML标签而无需解析?

Ata*_*adj 22 html css character-encoding special-characters

有没有办法在不解析的情况下显示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 &lt; and &gt; as replacement for < and >.
<PRE>
&#60;a href="http://example.com"&#62;Link&#60;/A&#62;
</PRE>
Run Code Online (Sandbox Code Playgroud)

我正在寻找的东西相当于旧的XMP标签.新的PRE标签将解析代码.

Juk*_*ela 25

您可以使用script带有typeset 的元素来表示纯文本,并将其display属性设置为block.这仅影响解析行为:除了元素本身的结束标记之外,不识别标记(标记或实体或字符引用)</script>.(所以它不是一样xmp,这里的认可标签</xmp>.)你可以单独做空白处理类似的xmppre和/或设置字体等宽为默认的那些元素.

例:

<style>
    script {
        display: block;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

然后在文件正文中:

<script type="text/plain">
    <i>&eacute;</i>
</script>
Run Code Online (Sandbox Code Playgroud)

测试了最新版本的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为过时和不符合,但它也对浏览器提出了要求:"用户代理必须以与语义和用途相关的xmp元素的方式处理元素pre渲染 (解析器虽然对此元素有特殊行为.)"因此,未明确要求旧的解析行为,但明确暗示.


小智 5

嗨,我个人认为使用这些<code> </code>标签仅在Dream Weaver中有效,并且<xmp> </xmp>除非您放好</xmp>它,否则该标签永不会停止工作。使用<textarea> </textarea>可以使其他人可以在网站或页面上编辑您的代码,因此我建议<xmp> </xmp>仍然使用该标签,并且该标签仍然存在。


小智 5

现代方法是使用具有只读(布尔)属性的文本区域。您可以使用 XMP,但它已被弃用,因此它最终可能会停止受支持。
例子:

<textarea readonly='true'>
    <p>This is some text</p>
</textarea>
Run Code Online (Sandbox Code Playgroud)