
highlight.js 默认不处理超长代码行的换行,导致内容溢出容器破坏页面布局;通过为 `
` 元素添加兼容性良好的 css 换行规则(如 `white-space: pre-wrap` 和 `word-wrap: break-word`),可强制长行自动折行,保持排版整洁。在使用 Highlight.js 渲染代码块时,其默认将代码包裹在
结构中。由于...元素天然保留空白符且默认禁止自动换行(white-space: pre),当遇到无空格的超长字符串(如 Base64 数据、长 URL、连续字母变量名或未格式化的 JSON)时,浏览器无法断行,导致代码横向溢出容器,破坏整体响应式布局——这正是你在 FarsLearn 示例页面 中观察到的问题。✅ 正确解决方案是覆盖
的默认换行行为,启用智能折行。推荐使用以下具有广泛浏览器兼容性的 CSS 规则:pre { white-space: pre-wrap; /* CSS 2.1 标准:保留空格与换行,允许折行 */ white-space: -moz-pre-wrap; /* Firefox 早期版本 */ white-space: -webkit-pre-wrap; /* Safari < 13(可选补充) */ white-space: -o-pre-wrap; /* Opera 7–12 */ word-wrap: break-word; /* IE 5.5+ / Edge Legacy:强制打断过长单词 */ word-break: break-word; /* 现代标准补充(Chrome/Firefox/Safari/Edge) */ }⚠️ 注意事项:
Kotlin Android 中文开发帮助文档 PDF版下载这本书并不是一本语言参考书,但它是一个Android开发者去学习Kotlin并且使用在自己项目中的一个工具。我会通过使用一些语言特性和有趣的工具和库来解决很多我们在日常生活当中都会遇到的典型问题。 这本书是非常具有实践性的,所以我建议你在电脑面前跟着我的例子和代码实践。无论何时你都可以在有一些想法的时候深入到实践中去。 这本书适合你吗? 写这本书是为了帮助那些有兴趣 使用Kotlin语言来进行开发的Android开发者。 如果你符合下面这些情况,那这本书是适合你的: 你有相关Android开发和Andro
- white-space: pre-line 虽简洁,但会合并多余空白符,可能破坏代码缩进和格式,不推荐用于代码高亮场景;
- overflow-x: auto(添加滚动条)是备选方案,但牺牲可读性与移动端体验,应优先采用折行;
- 若项目已使用 CSS 预处理器(如 Sass),建议将该样式封装为 @mixin code-wrap 复用;
- 对于
内联代码,无需额外设置(因其默认为 white-space: normal),本规则仅需作用于容器。
添加上述 CSS 后,所有 Highlight.js 渲染的代码块将自动在容器边界处合理折行,既保持语法高亮完整性,又确保响应式友好——正如你在 Free Download Package 页面 中看到的正常效果。










