我在<code>标签内部使用标签<pre>在我的博客博客上显示代码.不幸的是,它不适用于HTML标记.有没有办法显示" <div>"内部<pre>或<code>标签而不实际将其解释为HTML?这就是我现在所做的:
<pre>
<code>
.class {
color:red;
}
// I would like HTML code inside this
</code>
</pre>
Run Code Online (Sandbox Code Playgroud)
哪个适用于HTML以外的所有内容.知道怎么做到这一点?谢谢.
Que*_*tin 84
不幸的是,它不适用于HTML标记.
<code>表示"这是代码",<pre>表示"此标记中的空格很重要".两者都不意味着"不应将此元素的内容视为HTML",因此两者都能完美地工作,即使它们并不意味着您希望它们的含义.
有没有办法显示"
<div>"内部<pre>或<code>标签而不实际将其解释为HTML?
如果你想呈现一个<角色,然后使用<,以>用于>与&供&.
您不能(在现代HTML中)编写标记并将其解释为文本.
Jas*_*ins 40
看起来像一个只读textarea几乎你想要的.
<textarea readonly> <!-- html code --> </textarea>
Run Code Online (Sandbox Code Playgroud)
Rol*_*and 22
您可以使用"xmp"元素.在<xmp></xmp>年初以来一直在HTML中,为所有浏览器都支持.即使它不应该被使用,它也得到了广泛的支持.
内部的所有内容<xmp></xmp>都按原样使用(在那里没有识别标记lke标签或字符引用),除了明显的原因,元素本身的结束标记.
否则"xmp"呈现为"pre".
小智 11
尝试:
<xmp></xmp>
Run Code Online (Sandbox Code Playgroud)
举个例子:
<pre>
<xmp><!-- your html code --></xmp>
</pre>
Run Code Online (Sandbox Code Playgroud)
再见
小智 5
这可以通过一点点 JavaScript 轻松实现。
document.querySelectorAll("code").forEach(el => el.innerText = el.innerHTML);
Run Code Online (Sandbox Code Playgroud)
运行下面的代码片段以查看其实际效果:
document.querySelectorAll("code").forEach(el => el.innerText = el.innerHTML);
Run Code Online (Sandbox Code Playgroud)
document.querySelectorAll("code").forEach(el => el.innerText = el.innerHTML);Run Code Online (Sandbox Code Playgroud)
pre {
padding: 1rem;
background-color: #eee;
border-radius: 0.25rem;
}Run Code Online (Sandbox Code Playgroud)