HTML5 正式支持的重点标注标签是 ,而非不存在的 ; 默认浅黄背景、自 iOS 5 和 Android 4.0+ 起广泛支持,但需用 CSS 自定义样式以确保移动端可靠显示。

HTML5 有 标签,没有
很多人搜“highlight 标签”,其实是把语义记混了。HTML5 正式支持的重点标注标签是 ,不是 ——后者根本不存在于任何 HTML 规范中,所有浏览器都不会识别它,写了等于白写。
常见错误现象: 在手机上完全不渲染高亮样式,甚至可能被当作未知元素丢弃或显示为纯文本。
-
是唯一被 HTML5 标准定义的语义化“高亮”标签,表示与当前上下文相关的重要或突出内容 - 它默认有浅黄色背景(
background-color: #ff0),文字颜色通常为黑色,这个样式在绝大多数移动端浏览器中都生效 - 如果想自定义样式,必须用 CSS 显式覆盖,不能依赖浏览器默认以外的表现
主流移动端浏览器对 的支持情况
自 iOS 5 和 Android 4.0+ 起就已完整支持,现在几乎不用考虑兼容性问题——包括 Safari、Chrome for iOS/Android、Firefox for Android、Edge Mobile,全都原生渲染且行为一致。
但要注意一个细节:部分国产安卓 WebView(如旧版 UC、QQ 浏览器内核)若未启用 Blink/WebKit 最新版,可能忽略 的默认样式,但标签本身仍会被解析为有效元素,CSS 可正常作用。
立即学习“前端免费学习笔记(深入)”;
- ✅ Safari iOS 12+、Chrome Android 80+:默认样式可用,
background-color渲染稳定 - ⚠️ 某些定制 ROM 内置浏览器(如华为 EMUI 早期版本):可能需加
mark { background-color: #ffeb3b !important; }强制生效 - ❌ 所有场景下都不应依赖
—— 它不会被解析为 HTML 元素,DOM 中查不到,CSS 选不到,JS 也抓不到
怎么让 在手机上更可靠地显示
默认样式虽可用,但颜色太刺眼、对比度不足、或和页面主题冲突时,用户可能根本注意不到“重点”。这时候得靠 CSS 控制,而不是换标签。
- 始终给
加 CSS 重置,比如:mark { background-color: #ffeb3b; color: #212121; padding: 0.1em 0.2em; border-radius: 2px; } - 避免用透明色或纯白背景(
background: transparent),某些安卓 WebView 会失效 - 不要嵌套
—— 多层嵌套在部分微信内置浏览器中会导致样式塌陷或丢失 - 若需点击反馈(比如点一下高亮变蓝),请用 JS 绑定事件到
,但注意 iOS Safari 默认不触发click,建议加cursor: pointer+ontouchstart=""兼容
替代方案:什么时候不该用
如果“重点”是交互态的(比如搜索关键词实时高亮)、需要动画、或要支持复制时保留/去除高亮, 就不够用了——它只是静态语义标签,不是富文本容器。
- 搜索结果高亮:用
+ JS 动态插入,便于控制生命周期和样式隔离 - 代码块内重点:优先用
套,在里可能被预格式化破坏行高 - 需要无障碍朗读强调语气:
不自带 ARIA 属性,得手动加aria-label或配合使用
真正容易被忽略的点是:语义和样式要分开想。 解决的是“这里为什么重要”的问题,不是“怎么让它看起来闪亮”的问题。后者永远靠 CSS,而且得在真机上连着调试器看效果,模拟器有时会骗人。











