标签内联样式最快:错误,必须同时设 background-color 和 color 以兼容 Safari 旧版及避免继承导致的显示异常,所有现代浏览器均原生支持。

直接改 `` 的 `style` 或 CSS 类最可靠,但 Safari 旧版、暗色模式、XSS 风险和 DOM 撕裂这四类问题不处理,高亮会失效或变色异常。
内联写法最快: 但必须同时设 直接写 推荐带前缀的类名,例如: 然后在 HTML 中用 用户搜 安全做法是只操作文本节点: WCAG AA 级要求文本与背景对比度 ≥ 4.5:1(小字)或 ≥ 3:1(大字)。用 别靠肉眼判断,用工具验证: 真正难的不是换颜色,而是确保每次替换都绕过 DOM 解析陷阱、适配多主题、通过可访问性校验。这些细节漏掉一个,高亮就只是看起来亮,而不是真正有效。怎么用
style 快速改 mark 颜色错误。所有现代浏览器都支持,不用额外 CSS。background-color 和 color:Safari 12 及更早版本会忽略未显式声明的 background-color;如果父元素有深色文字(比如 mark > strong),不设 color 就可能被继承为黑色,导致看不清。
#ff6b6b)、RGB(rgb(255, 107, 107))、英文名(lightcoral)padding 不是必须,但加 padding: 2px 4px 能让高亮更易读mark
为什么全局改
mark CSS 类容易出问题mark { background-color: #fff9c4; color: #1f2329; } 看似省事,但第三方组件(如 Markdown 解析器、UI 库)也可能用 mark 标签,一改就全崩。mark.highlight-error { background-color: #fee2e2; color: #b91c1c; }
mark.highlight-info { background-color: #dbeafe; color: #1d4ed8; }
404。这样语义清晰、可复用,也避免污染。
mark 作为选择器开头——它太泛,冲突风险高@media (prefers-color-scheme: dark) { mark.highlight-error { background-color: #7f1d1d; } }
mark 是否仍符合业务语义(比如“高亮错误”不该出现在帮助文档里)搜索高亮为什么不能用
innerHTML.replace()
a.b?c,直接 new RegExp(keyword) 会因正则特殊字符报错;搜 <script>alert(1)</script> 可能触发 XSS;搜到 里,还可能把标签撕开变成 console.log(),DOM 解析失败。console.log()
document.createTreeWalker(element, NodeFilter.SHOW_TEXT) 遍历纯文本节点textContent 做匹配,关键词先双重转义:keyword.replace(/[&"'`=/]/g, c => `${c.charCodeAt(0)};`).replace(/[.*+?^${}()|[]\]/g, '\$&')
document.createElement('mark'),设 textContent,再用 node.parentNode.replaceChild(mark, node)
高亮颜色对比度不达标怎么办
#e53e3e 配 white 是合格的,但换成 #fee2e2 配 #b91c1c 就可能不达标。
mark → Styles 侧边栏点颜色值旁的色块图标,会显示实时对比度数值
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











