纯手写html简历必须使用5个语义标签:包裹姓名头衔,分块内容并设id,作唯一主标题,规范日期,或结构化技能与经历。

别用在线HTML编辑器做简历——它生成的代码结构松散、语义混乱,ATS(招聘系统)根本读不懂,导出PDF时还常丢链接和日期。
为什么在线HTML编辑器生成的简历在ATS里“消失”
多数网页编辑器(如Wix、Tilda、甚至部分VS Code插件)默认输出大量无意义
<div class="col-md-6 text-left p-3">。ATS解析器不认class名,只依赖HTML语义标签层级。一个没包裹<code><time></time>的时间字符串"2022.03–2024.06",会被当成普通文本切碎拼进段落末尾;而<section id="experience"></section>被识别为“经历区块”的概率,远高于<div data-section="exp">。
<ul>
<li>ATS通常跳过所有<code>style属性和class值,只看<header></header>、<section></section>、<h2></h2>、<time></time>等原生语义标签
<script></script>或data-*属性,ATS直接忽略整块内容<span style="color:#666"></span>会让关键信息(如邮箱)降权,甚至被过滤纯手写HTML简历必须保留的5个语义标签
不是越多标签越好,而是每个都要承担明确语义角色。以下5个是硬性底线,缺一不可:
-
<header></header>:仅包裹姓名、职业头衔、一句话简介,别塞联系方式 -
<section></section>:每块大内容(教育/经历/技能)必须独立包裹,且带id如id="work" -
<h2></h2>:每个<section></section>内唯一标题,如<h2>工作经历</h2>,禁用<h3></h3>作主标题 -
<time datetime="2022-03">2022.03</time>:所有时间必须用此格式,datetime值严格按YYYY-MM或YYYY-MM-DD写 -
<ul></ul>或<dl></dl>:技能和经历必须用列表结构,禁用<br>或空格分隔
导出PDF时邮箱变空白、链接点不开的根因
Chrome“另存为PDF”默认禁用JavaScript、裁剪overflow内容、忽略非安全字体,但最致命的是它只认mailto:和https://协议链接——其他一律失效。
- 邮箱必须写成
@#@#@#@#@#@#@#@#@#@0,不能只写文本 - GitHub链接要带
rel="noopener"和target="_blank",否则PDF里点击无响应 - 所有
<img>必须有alt属性,否则PDF中显示占位符或留白 - 打印样式里必须重置
color为#000,灰色文字(如#666)在PDF中常渲染为透明
移动端打开字小、需双指放大的真实原因
不是CSS没写响应式,而是漏了最关键的<meta>声明,或写了但位置错——它必须在最顶部,且不能被JS动态注入。
- 必须在
内第一行加:<meta name="viewport" content="width=device-width, initial-scale=1"> - 禁用固定字号:
font-size: 16px在iPhone上会强制缩放,改用1rem或1.1em - 图片必须加
style="max-width: 100%; height: auto;",否则width="200"属性会让页面横向溢出 - 别用
flex或grid做全局布局,iOS Safari对flex-wrap支持不稳定,小屏易塌陷
真正难的不是写多少行HTML,而是克制——忍住不用<div>套<code><div>,忍住不加花哨进度条,忍住不塞Font Awesome图标。语义清晰的简历,才能同时被人眼、屏幕阅读器和ATS三类“读者”准确理解。</div>











