viewport 声明必须放在 里,且不能漏掉;常见错误包括写在 中、拼错属性名(如 viewpoint)、添加 maximum-scale=1.0 等限制;语义化结构应使用 和 ,时间线信息优先用 ;图片需设 max-width: 100%; height: auto;,正文用 max-width: 800px 居中,字号用 rem,行高用无单位值;pdf 导出需适配 @media print,禁用 position: fixed 和 float。

viewport 声明必须放在 里,且不能漏掉
本地双击打开正常、一上传 GitHub Pages 就文字小得看不清,90% 是因为没写或写错 <meta name="viewport" content="width=device-width, initial-scale=1">。这行不是可选的“美化开关”,而是浏览器渲染布局的底层指令——没有它,手机会按桌面宽度(通常是 980px)缩放整个页面,导致字体被压扁、按钮点不准。
常见错误:
- 写在
里(无效) - 拼错属性名,比如写成
viewpoint或intial-scale - 加了
maximum-scale=1.0这类限制,导致用户无法放大阅读(尤其对视力敏感者不友好)
用 + 分块,别堆
简历信息要让招聘方 3 秒内扫到关键项,结构比样式更重要。<section></section> 是语义化分块的最小可靠单位,<h2></h2> 是每块的标题锚点——它们共同构成可预测的 DOM 节奏,对屏幕阅读器、ATS 系统和 CSS 选择器都友好。
别这么写:
<div class="edu">
<div class="title">教育背景</div>
<p>XX大学...</p>
</div>
应该这么组织:
<section><h2>教育背景</h2>
<dl>
<dt>2019.09–2023.06</dt>
<dd>XX 大学|计算机科学与技术|学士</dd>
</dl></section>
<dl></dl> 比 <ul></ul> 更适合时间线类信息:它天然支持 <dt></dt>(时间/角色)和 <dd></dd>(描述)的语义配对,CSS 控制左右间距也更可控。
图片和宽度控制必须用相对单位
简历页里最常崩的不是文字,是头像和技能图标。固定像素写法如 width: 200px 或 style="width: 960px" 在手机上直接横向溢出,用户被迫左右滑动——这不是“响应式”,是反用户体验。
正确做法:
- 所有图片统一加
max-width: 100%; height: auto;(写在 <style></style> 里,别用内联)
- 正文最大宽度用
max-width: 800px,配合 margin: 0 auto 居中,而不是 width: 800px
- 字号用
rem 或 em,比如 font-size: 1.1rem;避免 font-size: 16px
- 行高设为无单位值:
line-height: 1.6(不是 1.6em),它会自动继承当前字号
导出 PDF 时内容被截断或错位
Chrome “另存为 PDF” 默认忽略很多网页样式,不是你代码写错了,是打印媒体没适配。
关键三件事必须加进 <style></style>:
-
@media print { body { background: #fff !important; color: #000 !important; } }(去掉背景色,保正文可读)
- 删掉所有
box-shadow、border、background-image(PDF 引擎对它们支持极差)
- 给每个
<section></section> 加 break-inside: avoid;,防止某段经历被硬生生切到两页中间
特别注意:position: fixed 和 float 在 PDF 导出中基本失效,会导致内容重叠或消失——哪怕你在屏幕上看着 perfectly fine,导出前务必删掉。
真正难的不是写多少行代码,而是克制住加动画、换字体、塞轮播图的冲动。一个能被 ATS 读懂、手机点开不缩放、打印出来不丢行的简历页,核心就藏在这几处不动声色的约束里。
分块,别堆
简历信息要让招聘方 3 秒内扫到关键项,结构比样式更重要。<section></section> 是语义化分块的最小可靠单位,<h2></h2> 是每块的标题锚点——它们共同构成可预测的 DOM 节奏,对屏幕阅读器、ATS 系统和 CSS 选择器都友好。
别这么写:
<div class="edu">
<div class="title">教育背景</div>
<p>XX大学...</p>
</div>
应该这么组织:
<section><h2>教育背景</h2>
<dl>
<dt>2019.09–2023.06</dt>
<dd>XX 大学|计算机科学与技术|学士</dd>
</dl></section>
<dl></dl> 比 <ul></ul> 更适合时间线类信息:它天然支持 <dt></dt>(时间/角色)和 <dd></dd>(描述)的语义配对,CSS 控制左右间距也更可控。
图片和宽度控制必须用相对单位
简历页里最常崩的不是文字,是头像和技能图标。固定像素写法如 width: 200px 或 style="width: 960px" 在手机上直接横向溢出,用户被迫左右滑动——这不是“响应式”,是反用户体验。
正确做法:
- 所有图片统一加
max-width: 100%; height: auto;(写在 <style></style> 里,别用内联)
- 正文最大宽度用
max-width: 800px,配合 margin: 0 auto 居中,而不是 width: 800px
- 字号用
rem 或 em,比如 font-size: 1.1rem;避免 font-size: 16px
- 行高设为无单位值:
line-height: 1.6(不是 1.6em),它会自动继承当前字号
导出 PDF 时内容被截断或错位
Chrome “另存为 PDF” 默认忽略很多网页样式,不是你代码写错了,是打印媒体没适配。
关键三件事必须加进 <style></style>:
-
@media print { body { background: #fff !important; color: #000 !important; } }(去掉背景色,保正文可读)
- 删掉所有
box-shadow、border、background-image(PDF 引擎对它们支持极差)
- 给每个
<section></section> 加 break-inside: avoid;,防止某段经历被硬生生切到两页中间
特别注意:position: fixed 和 float 在 PDF 导出中基本失效,会导致内容重叠或消失——哪怕你在屏幕上看着 perfectly fine,导出前务必删掉。
真正难的不是写多少行代码,而是克制住加动画、换字体、塞轮播图的冲动。一个能被 ATS 读懂、手机点开不缩放、打印出来不丢行的简历页,核心就藏在这几处不动声色的约束里。
简历信息要让招聘方 3 秒内扫到关键项,结构比样式更重要。<section></section> 是语义化分块的最小可靠单位,<h2></h2> 是每块的标题锚点——它们共同构成可预测的 DOM 节奏,对屏幕阅读器、ATS 系统和 CSS 选择器都友好。
别这么写:
<div class="edu"> <div class="title">教育背景</div> <p>XX大学...</p> </div>
应该这么组织:
<section><h2>教育背景</h2>
<dl>
<dt>2019.09–2023.06</dt>
<dd>XX 大学|计算机科学与技术|学士</dd>
</dl></section>
<dl></dl> 比 <ul></ul> 更适合时间线类信息:它天然支持 <dt></dt>(时间/角色)和 <dd></dd>(描述)的语义配对,CSS 控制左右间距也更可控。
图片和宽度控制必须用相对单位
简历页里最常崩的不是文字,是头像和技能图标。固定像素写法如 width: 200px 或 style="width: 960px" 在手机上直接横向溢出,用户被迫左右滑动——这不是“响应式”,是反用户体验。
正确做法:
- 所有图片统一加
max-width: 100%; height: auto;(写在<style></style>里,别用内联) - 正文最大宽度用
max-width: 800px,配合margin: 0 auto居中,而不是width: 800px - 字号用
rem或em,比如font-size: 1.1rem;避免font-size: 16px - 行高设为无单位值:
line-height: 1.6(不是1.6em),它会自动继承当前字号
导出 PDF 时内容被截断或错位
Chrome “另存为 PDF” 默认忽略很多网页样式,不是你代码写错了,是打印媒体没适配。
关键三件事必须加进 <style></style>:
-
@media print { body { background: #fff !important; color: #000 !important; } }(去掉背景色,保正文可读) - 删掉所有
box-shadow、border、background-image(PDF 引擎对它们支持极差) - 给每个
<section></section>加break-inside: avoid;,防止某段经历被硬生生切到两页中间
特别注意:position: fixed 和 float 在 PDF 导出中基本失效,会导致内容重叠或消失——哪怕你在屏幕上看着 perfectly fine,导出前务必删掉。
真正难的不是写多少行代码,而是克制住加动画、换字体、塞轮播图的冲动。一个能被 ATS 读懂、手机点开不缩放、打印出来不丢行的简历页,核心就藏在这几处不动声色的约束里。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











