必须用 <pre><code> 嵌套结构,单独 <code> 无法触发高亮、丢失格式且语义缺失;HTML 特殊字符需手动转义为
pre 和 code 必须嵌套,不能只用 code
浏览器把
<code>当作行内元素,换行、缩进、多个空格全被压成一个空格——直接塞多行 HTML 代码进去,格式全丢,还可能被解析成真实标签。高亮库(如highlight.js或Prism.js)默认只扫描<pre><code>这种结构,单独的<code>标签根本不会处理。正确写法是:
<div id="app"> <p>Hello</p> </div>错误写法包括:
<p><code class="html"><div></div></code></p>(没<pre>,不触发高亮)<pre><div class="app"></div></pre>(没<code>,语义缺失、转义易漏、库不识别)HTML 特殊字符必须提前转义,不是靠 CSS 或 JS 补救
所有出现在
<code>内容里的<、>、&都得手动变成、<code>>、&。否则浏览器在 DOM 解析阶段就把<div>当成真实标签执行,后面内容错位,甚至整个<pre>提前闭合。立即学习“前端免费学习笔记(深入)”;
常见疏漏点:
- 前端动态插入时用了
innerHTML,但没对原始字符串做textContent替代或实体化处理- 服务端渲染没调
htmlspecialchars()类函数,直接拼接原始 HTML 字符串- 复制粘贴代码时忘了检查是否含未转义的
&,比如data-id="1&2"变成data-id="1&2"才安全第三方库引入后没高亮?先查这三件事
highlight.js和Prism.js都依赖明确的触发时机和结构约定,不是“引入就亮”。高频失败原因:
class值写错:比如写成class="js"或class="HTML";正确应为class="html"(推荐)或class="html"(highlight.js兼容,但Prism.js更认language-前缀)- 没显式初始化:
highlight.js必须在 DOM 加载完后调hljs.highlightAll();Prism.js虽自动运行,但若脚本在<pre><code>之前加载,也会漏掉- CSS 没引入或路径失效:高亮本质是加 class 后靠 CSS 着色,没样式表等于白搭;CDN 地址过期、404、被广告拦截器屏蔽都可能导致“有 class 没颜色”
字体与空白控制不设,高亮效果直接打折
即使语法着色成功,如果
<pre><code>的基础样式没调,用户看到的可能是模糊字体、塌陷缩进、横向滚动条乱跳。关键 CSS 必加项:
font-family: ui-monospace, 'SFMono-Regular', 'Consolas', monospace—— 避免衬线体干扰括号、分号辨识tab-size: 4—— 否则 Safari 或旧版 Chrome 把制表符当 8 格,缩进错乱white-space: pre或保持<pre>默认行为 —— 确保空格、换行不被压缩overflow-x: auto—— 长行代码不撑破容器这些不是锦上添花,而是让高亮真正可用的底线设置。很多人卡在“看着像高亮了”,其实颜色对了但字体糊、缩进崩、换行断,实际阅读体验极差。
相关文章
Go语言怎么把Markdown文档格式化写入文件
如何使用Python开发一个简单的Markdown转HTML工具?
如何用HTML代码中的mark标签配合关键词搜索高亮
如何用HTML代码高亮搜索结果关键字
code 标签在呈现编程源码时的语义化标注
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。
5295
2023.06.14
html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。
3052
2023.06.21
html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。
2710
2023.07.31
html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。
2759
2023.08.01
HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。
4659
2023.08.11
在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。
2701
2023.08.11
html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。
2489
2023.08.31
html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。
2248
2023.09.01
本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。
0
2026.09.30
热门下载
相关下载
精品课程
共6课时 | 12万人学习
共79课时 | 160.9万人学习
共6课时 | 54.6万人学习
最新文章










