html - 是否有一种 HTML/CSS 方法可以在不解析的情况下显示 HTML 标签?

标签 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>

我要找的是旧的 XMP 标签。新的 PRE 标签将解析代码。

最佳答案

您可以使用 script元素及其 type设置为表示纯文本,并设置其 display属性(property)block .这只会影响解析行为:没有标记(标签或实体或字符引用)被识别,除了元素本身的结束标记 </script> . (因此它与 xmp完全相同,其中识别的标签是 </xmp> 。)您可以单独进行类似于 xmp 的空白处理。和 pre和/或默认将字体设置为这些元素中的等宽字体。

例子:

<style>
    script {
        display: block;
    }
</style>

然后在文档正文中:

<script type="text/plain">
    <i>&eacute;</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/

相关文章:

html - 在表格上更改鼠标光标,但不在

css - excel文件中应该使用什么公式

utf-8 - websphere 上的字符编码问题

jquery - Bootstrap 轮播自定义 css 不适用于 id

html - h3 和 anchor 标签样式问题

javascript - 更改链接鼠标悬停时的正文背景

css - 将页面高度设置为手机上的可用空间

php - 阿拉伯语的 urlencoding 不正确

php - AdoDB 函数不适用于 MySQL 查询中的 utf8 转换

asp.net - 带有 'x' 而不是传统勾号的 html 复选框