用section替代div可提升语义化、SEO和无障碍访问;details/summary适合折叠非核心信息;grid布局兼顾响应式与打印适配;@media print需强制展开details并清除动画。

用 section 划分模块比用 div 更语义清晰
浏览器和屏幕阅读器能自动识别 section 是独立内容块,对 SEO 和无障碍访问有实际帮助。求职简历里每个模块(如「教育背景」「项目经历」)本质就是逻辑独立的章节,硬套 div 会让结构变“哑”。
实操建议:
• 每个模块用 section 包裹,加 aria-labelledby 指向内部标题
• 标题统一用 h2(不要跳级用 h3 或 h4)
• 避免嵌套多层 section,同一层级最多 1 个 section 套 1 个 section
用 details/summary 折叠非核心信息
招聘方通常先扫关键项(学历、技能、最近工作),项目细节或课程作业可默认收起。原生 details 不依赖 JS,兼容性好(Chrome 12+、Firefox 49+、Safari 6+),且自带展开/收起状态管理。
实操建议:
• 技术栈列表用 details 包裹,summary 写「掌握的编程语言」
• 项目描述中,把「技术难点」和「个人贡献」设为可展开项
• 不要给 details 加 open 属性——默认展开会破坏快速浏览节奏
CSS 用 display: grid 控制模块顺序与响应式断点
简历模块在手机上必须线性堆叠,在桌面端可能需要「技能栏靠右」「教育/工作并排」。用 grid-template-areas 能直接声明布局意图,比浮动或 Flex 更直观。
实操建议:
• 定义 3 个命名区域:"header skills" "main main"(桌面)→ "header" "skills" "main"(手机)
• 用 @media (max-width: 768px) 切换 grid-template-areas
• 避免用 grid-column: span 2 强制跨列——会导致打印 PDF 时错位
导出 PDF 时 @media print 必须重置 details 和动画
Chrome 打印预览默认不展开 details,也不执行 CSS 动画,结果就是折叠内容全丢、过渡效果残留白边。这不是 bug,是规范行为。
实操建议:
• 在 @media print 中强制 details[open] { display: block; }
• 移除所有 transition、animation 声明
• 用 @page { margin: 0.5in; } 控制页边距,避免内容被截断
• 测试时直接用 Ctrl+P → “另存为 PDF”,别信浏览器“打印为 PDF”按钮的渲染预览
模块化不是为了炫技,而是让每一块内容能被单独更新、测试、甚至复用到不同岗位投递版本里。最容易被忽略的是打印样式——很多人只在浏览器里调好就导出,结果 PDF 里项目经历全没了。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











