目录
-
基础方案:单文件HTML (最推荐)
(图片来源网络,侵删)- 特点:所有代码(HTML, CSS, JavaScript)都在一个文件中,方便保存、打开和发送。
- :现代化的响应式设计、平滑滚动、打印样式。
-
代码结构详解
- HTML骨架 (
<!DOCTYPE html>,<head>,<body>) - CSS样式 (
<style>- JavaScript交互 (
<script> - JavaScript交互 (
- HTML骨架 (
-
进阶方案:分离式文件
- 特点:将HTML、CSS、JS分别存为不同文件,适合大型项目或团队协作。
- :文件结构说明和代码示例。
-
其他样式和布局变体
- 单栏布局:简洁、经典。
- 时间轴布局:突出工作经历和项目经历的时间顺序。
-
如何使用和定制
(图片来源网络,侵删)- 第一步:复制代码
- 第二步:修改个人信息
- 第三步:调整颜色和样式
- 第四步:添加/删除模块
基础方案:单文件HTML (最推荐)
这是一个功能完整、设计现代、响应式的个人简历网页,您可以直接复制下面的所有代码,保存为一个 .html 文件(resume.html),然后用浏览器打开即可。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">张三 - 个人简历</title>
<!-- 引入 Google Fonts (字体) -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
<!-- 引入 Font Awesome (图标) -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
/* --- 全局样式和变量 --- */
:root {
--primary-color: #007BFF; /* 主色调,可以修改 */
--secondary-color: #6c757d; /* 次要色调 */
--text-color: #333;
--light-bg: #f8f9fa;
--white: #fff;
--border-color: #dee2e6;
--shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Sans SC', sans-serif;
line-height: 1.6;
color: var(--text-color);
background-color: var(--light-bg);
scroll-behavior: smooth; /* 平滑滚动 */
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.resume-wrapper {
display: grid;
grid-template-columns: 350px 1fr;
gap: 30px;
background: var(--white);
border-radius: 10px;
box-shadow: var(--shadow);
overflow: hidden;
}
/* --- 左侧个人信息栏 --- */
.sidebar {
background: linear-gradient(135deg, var(--primary-color), #0056b3);
color: var(--white);
padding: 40px 30px;
text-align: center;
}
.profile-img {
width: 150px;
height: 150px;
border-radius: 50%;
border: 5px solid rgba(255, 255, 255, 0.2);
margin-bottom: 20px;
object-fit: cover;
}
.sidebar h1 {
font-size: 2rem;
margin-bottom: 10px;
font-weight: 700;
}
.sidebar .title {
font-size: 1.2rem;
font-weight: 300;
margin-bottom: 30px;
opacity: 0.9;
}
.contact-info p {
margin-bottom: 15px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.contact-info i {
width: 20px;
font-size: 1.1rem;
}
.social-links {
margin-top: 30px;
}
.social-links a {
color: var(--white);
font-size: 1.5rem;
margin: 0 10px;
transition: opacity 0.3s;
}
.social-links a:hover {
opacity: 0.8;
}
.skills {
margin-top: 40px;
text-align: left;
}
.skills h3 {
font-size: 1.2rem;
margin-bottom: 20px;
font-weight: 500;
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
padding-bottom: 10px;
}
.skill-item {
margin-bottom: 15px;
}
.skill-name {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
font-size: 0.9rem;
}
.skill-bar {
height: 8px;
background-color: rgba(255, 255, 255, 0.2);
border-radius: 4px;
overflow: hidden;
}
.skill-progress {
height: 100%;
background-color: var(--white);
border-radius: 4px;
width: 0; /* 初始为0,由JS动画控制 */
transition: width 1.5s ease-in-out;
}
/* --- 右侧主内容区 --- */
.main-content {
padding: 40px 50px;
}
.section {
margin-bottom: 40px;
}
.section:last-child {
margin-bottom: 0;
}
.section-title {
font-size: 1.5rem;
color: var(--primary-color);
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid var(--primary-color);
display: flex;
align-items: center;
gap: 10px;
}
.section-title i {
font-size: 1.2rem;
}
.section-content {
padding-left: 20px;
}
/* 经历和项目样式 */
.timeline-item {
position: relative;
padding-left: 30px;
margin-bottom: 25px;
}
.timeline-item:last-child {
margin-bottom: 0;
}
.timeline-item::before {
content: '';
position: absolute;
left: 0;
top: 5px;
width: 12px;
height: 12px;
background-color: var(--primary-color);
border-radius: 50%;
}
.timeline-item::after {
content: '';
position: absolute;
left: 5px;
top: 17px;
width: 2px;
height: calc(100% + 8px);
background-color: var(--border-color);
}
.timeline-item:last-child::after {
display: none;
}
.item-header {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 8px;
}
.item-title {
font-weight: 600;
font-size: 1.1rem;
}
.item-company, .item-date {
font-weight: 500;
color: var(--secondary-color);
}
.item-description {
color: #555;
line-height: 1.8;
}
/* 响应式设计 */
@media (max-width: 768px) {
.resume-wrapper {
grid-template-columns: 1fr;
margin: 0 10px;
}
.sidebar {
padding: 30px 20px;
}
.main-content {
padding: 30px 20px;
}
.contact-info p {
font-size: 0.9rem;
}
}
/* 打印样式 */
@media print {
body {
background: none;
}
.resume-wrapper {
box-shadow: none;
max-width: 100%;
}
.social-links a {
text-decoration: none;
}
}
</style>
</head>
<body>
<div class="container">
<div class="resume-wrapper">
<!-- 左侧边栏 -->
<aside class="sidebar">
<img src="https://i.pravatar.cc/150?u=zhangsan" alt="张三的头像" class="profile-img">
<h1>张三</h1>
<p class="title">全栈软件工程师</p>
<div class="contact-info">
<p><i class="fas fa-phone"></i> 138-8888-8888</p>
<p><i class="fas fa-envelope"></i> zhangsan.email@example.com</p>
<p><i class="fas fa-map-marker-alt"></i> 北京市朝阳区</p>
<p><i class="fab fa-github"></i> github.com/zhangsan</p>
</div>
<div class="social-links">
<a href="#"><i class="fab fa-linkedin"></i></a>
<a href="#"><i class="fab fa-twitter"></i></a>
<a href="#"><i class="fab fa-dribbble"></i></a>
</div>
<div class="skills">
<h3>专业技能</h3>
<div class="skill-item">
<div class="skill-name">
<span>JavaScript / TypeScript</span>
<span>90%</span>
</div>
<div class="skill-bar">
<div class="skill-progress" data-width="90%"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-name">
<span>React / Vue.js</span>
<span>85%</span>
</div>
<div class="skill-bar">
<div class="skill-progress" data-width="85%"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-name">
<span>Node.js / Express</span>
<span>80%</span>
</div>
<div class="skill-bar">
<div class="skill-progress" data-width="80%"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-name">
<span>Python / Django</span>
<span>75%</span>
</div>
<div class="skill-bar">
<div class="skill-progress" data-width="75%"></div>
</div>
</div>
</div>
</aside>
<!-- 主内容区 -->
<main class="main-content">
<!-- 个人简介 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-user"></i>
个人简介
</h2>
<div class="section-content">
<p>我是一名拥有5年经验的全栈软件工程师,对构建高效、可扩展的Web应用充满热情,精通前后端多种技术栈,具备良好的系统设计能力和团队协作精神,热衷于学习新技术,并致力于通过代码解决实际问题,为用户创造卓越的产品体验。</p>
</div>
</section>
<!-- 工作经历 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-briefcase"></i>
工作经历
</h2>
<div class="section-content">
<div class="timeline-item">
<div class="item-header">
<div>
<h3 class="item-title">高级全栈工程师</h3>
<p class="item-company">创新科技有限公司</p>
</div>
<p class="item-date">2025.03 - 至今</p>
</div>
<ul class="item-description">
<li>负责公司核心产品SaaS平台的后端架构设计与开发,使用Node.js和MongoDB,系统性能提升40%。</li>
<li>带领5人团队完成前端技术栈从Angular到React的迁移,并建立了组件库和开发规范。</li>
<li>与产品、设计团队紧密合作,参与需求评审和产品规划,主导了3个重大版本的发布。</li>
</ul>
</div>
<div class="timeline-item">
<div class="item-header">
<div>
<h3 class="item-title">全栈工程师</h3>
<p class="item-company">未来互联网公司</p>
</div>
<p class="item-date">2025.07 - 2025.02</p>
</div>
<ul class="item-description">
<li>独立负责电商平台的后端API开发,使用Python (Django)和PostgreSQL,日均处理订单量超10万。</li>
<li>开发并维护了多个内部工具,提升了运营和客服团队的工作效率。</li>
<li>参与代码审查,帮助团队成员提升代码质量,推动CI/CD流程的建立。</li>
</ul>
</div>
</div>
</section>
<!-- 项目经历 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-project-diagram"></i>
项目经历
</h2>
<div class="section-content">
<div class="timeline-item">
<div class="item-header">
<div>
<h3 class="item-title">智能数据分析平台</h3>
<p class="item-company">个人项目 / 开源项目</p>
</div>
<p class="item-date">2025.01 - 2025.06</p>
</div>
<ul class="item-description">
<li>一个基于React和D3.js的数据可视化平台,支持用户上传CSV文件并生成交互式图表。</li>
<li>实现了数据清洗、转换和聚合的核心算法,支持超过100万行数据的实时渲染。</li>
<li>项目已开源在GitHub上,获得500+ stars,并收到了来自社区的多个贡献。</li>
</ul>
</div>
</div>
</section>
<!-- 教育背景 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-graduation-cap"></i>
教育背景
</h2>
<div class="section-content">
<div class="timeline-item">
<div class="item-header">
<div>
<h3 class="item-title">计算机科学与技术 学士</h3>
<p class="item-company">北京大学</p>
</div>
<p class="item-date">2025.09 - 2025.06</p>
</div>
<ul class="item-description">
<li>主修课程:数据结构与算法、操作系统、计算机网络、数据库系统。</li>
<li>在校期间获得校级奖学金2次,参与ACM程序设计竞赛并获得省级铜奖。</li>
</ul>
</div>
</div>
</section>
</main>
</div>
</div>
<script>
// 技能条动画
document.addEventListener('DOMContentLoaded', function() {
const skillBars = document.querySelectorAll('.skill-progress');
// 使用 Intersection Observer API 来检测元素是否进入视口
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const bar = entry.target;
const width = bar.getAttribute('data-width');
bar.style.width = width;
observer.unobserve(bar); // 动画执行一次后停止观察
}
});
}, { threshold: 0.5 }); // 当元素50%可见时触发
skillBars.forEach(bar => {
observer.observe(bar);
});
});
</script>
</body>
</html>
代码结构详解
HTML骨架 (<!DOCTYPE html>, <head>, <body>)
<!DOCTYPE html>: 声明文档类型,告诉浏览器这是一个HTML5文档。<head>: 包含页面的元数据,不会直接显示在页面上。<meta charset="UTF-8">: 确保浏览器能正确显示中文等特殊字符。<meta name="viewport" ...>: 响应式设计的核心,确保在移动设备上正确缩放。<title>: 浏览器标签页上显示的标题。<link>: 引入外部资源,如Google Fonts(字体)和Font Awesome(图标)。
<body>: 包含页面的所有可见内容。<div class="container">: 一个外层容器,用于居中内容并限制最大宽度。<div class="resume-wrapper">: 简历的主容器,使用CSS Grid布局。<aside>: 代表侧边栏,包含个人信息、联系方式和技能。<main>: 代表主内容区,包含各个简历模块。<section>: 每个独立的模块(如工作经历、项目经历)。<h1>,<h2>,<p>,<ul>,<li>: 语义化的HTML标签,用于构建内容结构。
CSS样式 (<style>
- CSS变量 (
root): 定义了一组颜色和尺寸变量,这使得全局修改主题变得非常容易,只需修改变量的值即可。
- 盒模型 (
box-sizing: border-box): 让元素的 width 和 height 属性包含 padding 和 border,这是现代布局的标准实践。
- Flexbox (
display: flex): 用于在侧边栏和联系信息中实现元素的灵活对齐(如居中)。
- CSS Grid (
display: grid): 用于创建简历的整体两栏布局(左侧信息栏,右侧内容区),非常强大和直观。
- 伪元素 (
:before, :after): 用于创建时间轴上的小圆点和连接线,无需额外的HTML标签。
- 媒体查询 (
@media): 实现响应式设计,当屏幕宽度小于768px时,将两栏布局变为一栏布局,以适应手机和平板设备。
- 打印样式 (
@media print): 优化简历在打印时的外观,例如去除背景色和阴影。
JavaScript交互 (<script>
- 技能条动画: 这段代码使用了
Intersection Observer API,当用户滚动到简历的“专业技能”部分时,技能条会从0%平滑地延伸到设定的宽度,增加了页面的动态感和吸引力。
进阶方案:分离式文件
对于更复杂的项目,将代码分离到不同文件是更好的做法。
文件结构
/resume_project/
├── index.html
├── styles/
│ └── style.css
└── scripts/
└── script.js
index.html
将CSS和JavaScript的 <link> 和 <script> 标签指向对应文件。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">张三 - 个人简历</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<!-- 这里是和上面单文件中完全一样的HTML内容 -->
<div class="container">
<div class="resume-wrapper">
<aside class="sidebar">
<!-- ... 侧边栏内容 ... -->
</aside>
<main class="main-content">
<!-- ... 主内容区 ... -->
</main>
</div>
</div>
<script src="scripts/script.js"></script>
</body>
</html>
styles/style.css
将所有CSS代码复制到这个文件中。
(图片来源网络,侵删)
scripts/script.js
将所有JavaScript代码复制到这个文件中。
优点:
- 关注点分离: HTML负责结构,CSS负责样式,JS负责行为,代码更清晰。
- 可维护性: 修改样式时不需要动HTML文件。
- 可重用性: CSS和JS文件可以在多个页面中复用。
- 缓存: 浏览器可以缓存CSS和JS文件,加快后续页面的加载速度。
其他样式和布局变体
单栏布局
将 .resume-wrapper 的 grid-template-columns 改为 1fr,并调整各部分的顺序。
/* 在 style.css 中修改 */
.resume-wrapper {
display: grid; /* 或者直接用 block */
grid-template-columns: 1fr; /* 改为单栏 */
/* ... 其他样式 ... */
}
/* 可以调整HTML结构,把个人信息放在最上面 */
时间轴布局
将所有经历(工作、项目、教育)整合到一个“经历”部分,并统一使用时间轴样式。
<!-- 在 main-content 中 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-history"></i>
个人经历
</h2>
<div class="section-content">
<!-- 工作经历项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">高级全栈工程师</h3>
<p class="item-company">创新科技有限公司</p>
<p class="item-date">2025.03 - 至今</p>
</div>
<p class="item-description">...</p>
</div>
<!-- 项目经历项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">智能数据分析平台</h3>
<p class="item-company">个人项目</p>
<p class="item-date">2025.01 - 2025.06</p>
</div>
<p class="item-description">...</p>
</div>
<!-- 教育背景项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">计算机科学与技术 学士</h3>
<p class="item-company">北京大学</p>
<p class="item-date">2025.09 - 2025.06</p>
</div>
<p class="item-description">...</p>
</div>
</div>
</section>
如何使用和定制
- 复制代码: 选择您喜欢的方案(推荐单文件),复制全部代码。
- 保存文件: 将代码粘贴到文本编辑器(如 VS Code, Sublime Text, Notepad++)中,另存为
resume.html。
- 修改个人信息:
- 修改
<title> 和 <h1> 中的姓名。
- 职位: 修改
.title 中的职位。
- 联系方式: 修改
.contact-info 中的电话、邮箱、地址等。
- 头像: 将
<img src="..."> 中的 src 属性值替换为您自己头像的图片链接或本地路径。
- 社交链接: 修改
.social-links 中 <a> 标签的 href 属性。
- 修改各个
<section> 中的文字、项目、经历等。
- 调整颜色和样式:
- 打开
<style> 标签,找到 root 选择器。
- 修改
--primary-color、--text-color 等变量的值,即可改变整体配色方案。
- 您也可以直接修改CSS类名来调整字体大小、间距、边框等。
- 添加/删除模块:
- 要添加一个“证书”部分,只需复制一个
<section> 标签,修改其 class="section-title" 和内部内容即可。
- 要删除一个部分(项目经历”),直接找到对应的
<section> 标签并删除它。
希望这个“大全”能帮助您创建出一份出色的个人简历网页!
- CSS变量 (
root): 定义了一组颜色和尺寸变量,这使得全局修改主题变得非常容易,只需修改变量的值即可。 - 盒模型 (
box-sizing: border-box): 让元素的width和height属性包含padding和border,这是现代布局的标准实践。 - Flexbox (
display: flex): 用于在侧边栏和联系信息中实现元素的灵活对齐(如居中)。 - CSS Grid (
display: grid): 用于创建简历的整体两栏布局(左侧信息栏,右侧内容区),非常强大和直观。 - 伪元素 (
:before,:after): 用于创建时间轴上的小圆点和连接线,无需额外的HTML标签。 - 媒体查询 (
@media): 实现响应式设计,当屏幕宽度小于768px时,将两栏布局变为一栏布局,以适应手机和平板设备。 - 打印样式 (
@media print): 优化简历在打印时的外观,例如去除背景色和阴影。
JavaScript交互 (<script>
- 技能条动画: 这段代码使用了
Intersection Observer API,当用户滚动到简历的“专业技能”部分时,技能条会从0%平滑地延伸到设定的宽度,增加了页面的动态感和吸引力。
进阶方案:分离式文件
对于更复杂的项目,将代码分离到不同文件是更好的做法。
文件结构
/resume_project/
├── index.html
├── styles/
│ └── style.css
└── scripts/
└── script.js
index.html
将CSS和JavaScript的 <link> 和 <script> 标签指向对应文件。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">张三 - 个人简历</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<!-- 这里是和上面单文件中完全一样的HTML内容 -->
<div class="container">
<div class="resume-wrapper">
<aside class="sidebar">
<!-- ... 侧边栏内容 ... -->
</aside>
<main class="main-content">
<!-- ... 主内容区 ... -->
</main>
</div>
</div>
<script src="scripts/script.js"></script>
</body>
</html>
styles/style.css
将所有CSS代码复制到这个文件中。
(图片来源网络,侵删)
scripts/script.js
将所有JavaScript代码复制到这个文件中。
优点:
- 关注点分离: HTML负责结构,CSS负责样式,JS负责行为,代码更清晰。
- 可维护性: 修改样式时不需要动HTML文件。
- 可重用性: CSS和JS文件可以在多个页面中复用。
- 缓存: 浏览器可以缓存CSS和JS文件,加快后续页面的加载速度。
其他样式和布局变体
单栏布局
将 .resume-wrapper 的 grid-template-columns 改为 1fr,并调整各部分的顺序。
/* 在 style.css 中修改 */
.resume-wrapper {
display: grid; /* 或者直接用 block */
grid-template-columns: 1fr; /* 改为单栏 */
/* ... 其他样式 ... */
}
/* 可以调整HTML结构,把个人信息放在最上面 */
时间轴布局
将所有经历(工作、项目、教育)整合到一个“经历”部分,并统一使用时间轴样式。
<!-- 在 main-content 中 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-history"></i>
个人经历
</h2>
<div class="section-content">
<!-- 工作经历项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">高级全栈工程师</h3>
<p class="item-company">创新科技有限公司</p>
<p class="item-date">2025.03 - 至今</p>
</div>
<p class="item-description">...</p>
</div>
<!-- 项目经历项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">智能数据分析平台</h3>
<p class="item-company">个人项目</p>
<p class="item-date">2025.01 - 2025.06</p>
</div>
<p class="item-description">...</p>
</div>
<!-- 教育背景项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">计算机科学与技术 学士</h3>
<p class="item-company">北京大学</p>
<p class="item-date">2025.09 - 2025.06</p>
</div>
<p class="item-description">...</p>
</div>
</div>
</section>
如何使用和定制
- 复制代码: 选择您喜欢的方案(推荐单文件),复制全部代码。
- 保存文件: 将代码粘贴到文本编辑器(如 VS Code, Sublime Text, Notepad++)中,另存为
resume.html。
- 修改个人信息:
- 修改
<title> 和 <h1> 中的姓名。
- 职位: 修改
.title 中的职位。
- 联系方式: 修改
.contact-info 中的电话、邮箱、地址等。
- 头像: 将
<img src="..."> 中的 src 属性值替换为您自己头像的图片链接或本地路径。
- 社交链接: 修改
.social-links 中 <a> 标签的 href 属性。
- 修改各个
<section> 中的文字、项目、经历等。
- 调整颜色和样式:
- 打开
<style> 标签,找到 root 选择器。
- 修改
--primary-color、--text-color 等变量的值,即可改变整体配色方案。
- 您也可以直接修改CSS类名来调整字体大小、间距、边框等。
- 添加/删除模块:
- 要添加一个“证书”部分,只需复制一个
<section> 标签,修改其 class="section-title" 和内部内容即可。
- 要删除一个部分(项目经历”),直接找到对应的
<section> 标签并删除它。
希望这个“大全”能帮助您创建出一份出色的个人简历网页!
- 技能条动画: 这段代码使用了
Intersection Observer API,当用户滚动到简历的“专业技能”部分时,技能条会从0%平滑地延伸到设定的宽度,增加了页面的动态感和吸引力。
进阶方案:分离式文件
对于更复杂的项目,将代码分离到不同文件是更好的做法。
文件结构
/resume_project/
├── index.html
├── styles/
│ └── style.css
└── scripts/
└── script.js
index.html
将CSS和JavaScript的 <link> 和 <script> 标签指向对应文件。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">张三 - 个人简历</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<!-- 这里是和上面单文件中完全一样的HTML内容 -->
<div class="container">
<div class="resume-wrapper">
<aside class="sidebar">
<!-- ... 侧边栏内容 ... -->
</aside>
<main class="main-content">
<!-- ... 主内容区 ... -->
</main>
</div>
</div>
<script src="scripts/script.js"></script>
</body>
</html>
styles/style.css
将所有CSS代码复制到这个文件中。

(图片来源网络,侵删)
scripts/script.js
将所有JavaScript代码复制到这个文件中。
优点:
- 关注点分离: HTML负责结构,CSS负责样式,JS负责行为,代码更清晰。
- 可维护性: 修改样式时不需要动HTML文件。
- 可重用性: CSS和JS文件可以在多个页面中复用。
- 缓存: 浏览器可以缓存CSS和JS文件,加快后续页面的加载速度。
其他样式和布局变体
单栏布局
将 .resume-wrapper 的 grid-template-columns 改为 1fr,并调整各部分的顺序。
/* 在 style.css 中修改 */
.resume-wrapper {
display: grid; /* 或者直接用 block */
grid-template-columns: 1fr; /* 改为单栏 */
/* ... 其他样式 ... */
}
/* 可以调整HTML结构,把个人信息放在最上面 */
时间轴布局
将所有经历(工作、项目、教育)整合到一个“经历”部分,并统一使用时间轴样式。
<!-- 在 main-content 中 -->
<section class="section">
<h2 class="section-title">
<i class="fas fa-history"></i>
个人经历
</h2>
<div class="section-content">
<!-- 工作经历项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">高级全栈工程师</h3>
<p class="item-company">创新科技有限公司</p>
<p class="item-date">2025.03 - 至今</p>
</div>
<p class="item-description">...</p>
</div>
<!-- 项目经历项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">智能数据分析平台</h3>
<p class="item-company">个人项目</p>
<p class="item-date">2025.01 - 2025.06</p>
</div>
<p class="item-description">...</p>
</div>
<!-- 教育背景项目 -->
<div class="timeline-item">
<div class="item-header">
<h3 class="item-title">计算机科学与技术 学士</h3>
<p class="item-company">北京大学</p>
<p class="item-date">2025.09 - 2025.06</p>
</div>
<p class="item-description">...</p>
</div>
</div>
</section>
如何使用和定制
- 复制代码: 选择您喜欢的方案(推荐单文件),复制全部代码。
- 保存文件: 将代码粘贴到文本编辑器(如 VS Code, Sublime Text, Notepad++)中,另存为
resume.html。 - 修改个人信息:
- 修改
<title>和<h1>中的姓名。 - 职位: 修改
.title中的职位。 - 联系方式: 修改
.contact-info中的电话、邮箱、地址等。 - 头像: 将
<img src="...">中的src属性值替换为您自己头像的图片链接或本地路径。 - 社交链接: 修改
.social-links中<a>标签的href属性。 - 修改各个
<section>中的文字、项目、经历等。
- 修改
- 调整颜色和样式:
- 打开
<style>标签,找到root选择器。 - 修改
--primary-color、--text-color等变量的值,即可改变整体配色方案。 - 您也可以直接修改CSS类名来调整字体大小、间距、边框等。
- 打开
- 添加/删除模块:
- 要添加一个“证书”部分,只需复制一个
<section>标签,修改其class="section-title"和内部内容即可。 - 要删除一个部分(项目经历”),直接找到对应的
<section>标签并删除它。
- 要添加一个“证书”部分,只需复制一个
希望这个“大全”能帮助您创建出一份出色的个人简历网页!
