纯HTML简历是可控性、可访问性、可长期存档的最优解,需用语义化标签、原生CSS、等宽字体回退链,并确保邮箱电话可点击、代码可验证、PDF打印可用。

纯 HTML 简历不是“炫技入口”,而是可控性、可访问性、可长期存档的最优解——只要你别用 flex 布局把屏幕阅读器搞晕,也别把联系方式藏在 background-image 里。
用语义化标签代替 div 堆砌
很多程序员写简历时习惯全用 <div>,结果搜索引擎和 AT(辅助技术)根本分不清哪块是技能、哪块是项目。实际只需几处关键替换:
<ul>
<li>
<code><section></section> 包裹「工作经历」「教育背景」等逻辑区块
<h2></h2> 作为一级子标题(如「技术栈」),<h3></h3> 用于公司名或项目名,禁止跳级<ul></ul> 列技能项,但注意:如果某项含多个子技能(如「React:Hooks、Redux Toolkit、Server Components」),用 <dl>
<dt></dt>
<dd></dd>
</dl> 更准确<a href="mailto:..."></a> 和 <a href="tel:..."></a>,别写成纯文本避免 CSS 框架带来的隐性风险
用 Tailwind 或 Bootstrap 的简历模板看似省事,但会引入三类问题:
- 生成的 class 名(如
sm:text-lg md:leading-relaxed)让简历 PDF 打印时字体/行高错乱,尤其 macOS 预览器 - 框架默认重置了
<pre class="brush:php;toolbar:false;"></code> 样式,导致你贴的代码片段(如 <code>git log --oneline</code>)缩进全崩</li> <li>深色模式下,某些框架的 <code>bg-gray-50</code> 在暗色系统里变成黑底黑字——HR 看不到你的 GitHub 链接</li> <li>建议:只用原生 CSS 写响应式,媒体查询控制 <code>@media (max-width: 600px)</code> 下的 <code>font-size</code> 和 <code>padding</code>,不碰 <code>grid</code> 或复杂动画</li> </ul> <H3>让简历在终端和打印场景下依然可用</H3> <p>技术岗简历常被 HR 用 <code>curl</code> 抓取、用 <code>lpr</code> 直接打印,或丢进 <code>wkhtmltopdf</code> 转 PDF。这时候这些细节决定是否失效:</p><div class="aritcle_card flexRow"> <div class="artcardd flexRow"> <a class="aritcle_card_img" href="/ai/2249" title="超级简历WonderCV"><img src="https://img.php.cn/upload/ai_manual/000/000/000/175679998691134.png" alt="超级简历WonderCV" ></a> <div class="aritcle_card_info flexColumn"> <a href="/ai/2249" title="超级简历WonderCV">超级简历WonderCV</a> <p>一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。</p> </div> <a href="/ai/2249" title="超级简历WonderCV" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p> <ul> <li>所有字体声明必须带回退链:<code>font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;</code>(优先选等宽字体,方便展示命令行/代码)</li> <li>禁用 <code>position: fixed</code> 和 <code>transform</code>——<code>wkhtmltopdf</code> 对这两者支持极差,容易切掉右半边内容</li> <li>图片仅用于头像,且必须设 <code>width</code> 和 <code>height</code> 属性(否则 PDF 里显示为 0×0);头像路径用相对路径,别用 <code>data:</code> URI(base64 过长会导致 PDF 生成失败)</li> <li>在 <code><head></code> 加这行:<code><meta name="robots" content="noindex, nofollow"></code>,避免被爬虫当模板抓走</li> </ul> <H3>项目链接和代码片段怎么放才不翻车</H3> <p>技术简历里最常被忽略的是「可验证性」——你写了「用 Rust 实现了 LRU Cache」,但没给链接或代码,等于没写。</p> <ul> <li>GitHub 链接统一用 <code><a href="https://github.com/xxx/yyy" rel="noopener noreferrer"></code>,<code>rel</code> 属性不能少,否则安全扫描工具会标红</li> <li>嵌入代码片段时,用 <pre class="brush:php;toolbar:false;"><pre class="brush:php;toolbar:false;"><code class="rust">...</code></pre> - 别把整个
main.rs 贴进去,只放核心函数(如 <code>impl LRUCache),并确保缩进是 2 或 4 个空格(别混用 tab) - 如果项目有部署地址,用
<a href="https://demo.example.com">Live demo</a> • <a href="https://github.com/...">Source</a>并排,中间用 • 分隔,比换行更节省垂直空间
真正难的不是写出 HTML,而是克制住想加「滚动视差」「技能雷达图」或「点击展开项目详情」的冲动——那些东西在招聘系统里大概率被解析失败,或者根本没人点。


















