上一篇
在HTML中展示代码可使用`
标签显示内联代码片段,结合
标签保留多行代码的格式与缩进,关键标签包括:,-
:定义计算机代码文本,-
:保留空格与换行,-
:标记键盘输入,-
:标识程序输出,- `:表示变量名
在网页中展示代码片段是开发者常见需求,HTML提供了专用标签确保代码可读性和语义化,以下是专业级解决方案,符合E-A-T原则(专业知识、权威性、可信度),兼顾SEO和用户体验:
核心标签组合:<pre> + <code>
<pre><code class="language-html"> <div class="container"> <h1>Hello World</h1> <p>This is a code demo</p> </div> </code></pre>
作用解析:
<pre>(Preformatted Text)
保留所有空格和换行符,维持代码原始结构<code>(Inline Code)
语义化标记代码内容,浏览器默认显示等宽字体
增强代码可读性方案
语法高亮(必备)
<!-- 引入Highlight.js -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/github.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
<!-- 使用示例 -->
<pre><code class="language-javascript">
function calculate(a, b) {
return a * b + 100; // 数学运算示例
}
</code></pre>
推荐库:
- Highlight.js(轻量级,支持187种语言)
- Prism.js(可扩展性强)
行号显示
/* 自定义行号样式 */
pre {
counter-reset: line;
}
code .line {
display: block;
line-height: 1.5rem;
}
code .line:before {
counter-increment: line;
content: counter(line);
display: inline-block;
width: 2rem;
margin-right: 1rem;
color: #6c757d;
text-align: right;
}
响应式设计
pre {
max-width: 100%;
overflow-x: auto;
padding: 1.5rem;
background: #f8f9fa;
border-radius: 8px;
border: 1px solid #dee2e6;
}
code {
font-family: 'Fira Code', Consolas, Monaco, monospace;
font-size: 0.95rem;
}
辅助性语义标签
| 用途 | 示例 | |
|---|---|---|
<samp> |
程序输出示例 | <samp>File not found</samp> |
<kbd> |
键盘输入 | 按Ctrl+S保存 |
<var> |
变量占位符 | 设x为初始值 |
SEO与可访问性优化
-
结构化数据标记(提升搜索可见性):

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Code", "programmingLanguage": "HTML", "codeRepository": "https://example.com/source", "author": { "@type": "Person", "name": "作者姓名" } } </script> -
ARIA属性增强:
<div role="region" aria-label="代码示例" tabindex="0"> <pre><code>...</code></pre> </div>
-
移动端优化:
- 最小字号不小于14px
- 触控滚动区域增加20px内边距
安全注意事项
-
转义用户提交的代码:

function escapeHTML(str) { return str.replace(/[&<>"']/g, tag => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[tag])); } -
禁用内联JavaScript执行:
<!-- 使用CSP策略 --> <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'unsafe-eval'">
性能优化方案
-
异步加载高亮库:

<script async src="highlight.min.js" onload="hljs.initHighlighting()"></script> -
代码折叠功能(长代码适用):
<details> <summary>查看完整代码</summary> <pre><code>...</code></pre> </details>
引用说明:
本文技术方案遵循W3C HTML5标准(https://www.w3.org/TR/html52/),代码高亮实现参考Mozilla Developer Network(https://developer.mozilla.org/),安全实践依据OWASP XSS防护标准(https://owasp.org/www-community/xss-filter-evasion-cheatsheet),性能优化方案通过Google Lighthouse v10.0验证。
