多页结构:首页、关于、教育、技能、项目、联系六个独立 HTML 页面
student-portfolio-website-vanilla — HTML 作品集模板
作者 rik-byte-shifter
一个用原生 HTML、CSS 和 JavaScript 构建的多页学生作品集网站,包含首页、关于、教育、技能、项目和联系页面,支持深色/浅色主题与响应式布局。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
深色/浅色主题切换,偏好保存在 localStorage
滚动触发动画:IntersectionObserver 实现区块渐入与技能条填充
首页打字机效果轮播多个职位标题
联系表单带客户端校验和行内错误提示
移动优先响应式布局,含汉堡导航与返回顶部按钮
模板详细介绍
这是一个面向学生和开发者的多页作品集模板,使用 HTML5、CSS3 和原生 JavaScript 编写,不依赖框架,也没有构建步骤。站点包含六个页面:首页(带打字机效果的职位轮播、社交链接和行动按钮)、关于我(个人资料、简介、关注方向)、教育(时间线)、技能(进度条与卡片)、项目(项目卡片与进行中的构建日志)以及联系(带客户端校验的表单)。
交互与视觉方面,模板提供深色(默认)和浅色主题切换,偏好保存在 localStorage;首次访问显示加载动画,后续导航通过 sessionStorage 跳过;滚动时区块和卡片通过 IntersectionObserver 渐入;技能条在进入视口时填充;按钮有点击涟漪效果;滚动后出现返回顶部按钮。导航在移动端折叠为汉堡菜单,页面使用语义化标签、ARIA 属性和键盘友好的焦点样式。
使用限制:联系表单仅做客户端校验并显示演示成功消息,没有后端,需要自行接入 API 或表单服务(README 提及 Formspree);README 还提到 Firebase 集成,但启用前需自行配置并核对额度与收费。演示图片、字体、图标等第三方素材需按各自许可单独核对。模板按 MIT 许可发布,可免费使用、修改和分发,但需保留版权与许可声明。
适合你的项目吗?
适用场景
- 学生或初级开发者搭建个人作品集网站,展示教育背景、技能和项目
- 作为原生 HTML/CSS/JavaScript 的学习示例,参考主题切换、表单校验和滚动动画的实现
- 需要无框架、无构建步骤的静态站点,可直接部署到 GitHub Pages 等静态托管
- 在已有 HTML 基础上快速替换文字、图片和链接,生成个人版本
适合人群
- 希望用纯 HTML、CSS、JavaScript 构建作品集的学生
- 需要轻量静态模板、不想引入框架或构建工具的开发者
- 想学习原生 JavaScript 交互实现(主题、表单、动画)的初学者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
克隆或下载仓库后,可直接双击 index.html 打开,或使用本地服务器(如 VS Code Live Server、npx serve .)避免 file 协议问题
- 2
部署到 GitHub Pages 时,确保 css/、js/、images/ 目录及文件已提交,各 HTML 文件已包含 <base href="./">
- 3
替换 images/profile_image1.jpg 和 images/about_image.jpg 为个人照片,缺失时会显示占位图
- 4
在 css/style.css 的 :root 和 [data-theme="light"] 中修改主题色变量;在 js/script.js 的 initHeroRoleRotator() 的 roles 数组中修改打字机文案
- 5
联系表单仅客户端校验,需修改表单 action 或在 script.js 中添加 fetch 以接入后端或表单服务(如 Formspree、Netlify Forms)
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- README 提及 Formspree 表单服务;真实提交需配置服务端点,其使用额度与费用需单独核对。
- README 提及 Firebase 集成;启用相关动态功能前需自行配置,并核对 Firebase 的额度与收费。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 联系表单仅做客户端校验,没有后端;要真正接收提交,必须自行修改表单 action 或添加 fetch,接入自己的后端或第三方表单服务(如 Formspree、Netlify Forms)。
- 联系页表单只显示演示用的成功提示,不含后端逻辑;需自行接入 API 或表单服务才能实际发送消息。
- 直接以 file 协议打开可能出现问题,建议使用本地服务器(如 Live Server)运行,否则部分功能可能无法正常工作。
- 页面字体来自 Google Fonts 外部服务,使用时会向 Google 发起请求,需自行确认其可用性与相关条款。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
The form is client-side only; connect it to your backend or a service (e.g. Formspree, Netlify Forms) by changing the form `action` and/or adding `fetch` in `script.js`.
README 原文
Form with validation and demo success message (no backend; ready to plug into your API or form service).
README 原文
Optional: a local server (e.g. [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)) to avoid file-protocol issues
README 原文
https://github.com/rik-byte-shifter/student-portfolio-website-vanilla/blob/main/LICENSEhttps://github.com/rik-byte-shifter/student-portfolio-website-vanilla/blob/main/README.md**Fonts** — [Google Fonts](https://fonts.google.com): **Outfit** (UI), **JetBrains Mono** (accents)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 83 / 100
- 技术栈
- HTML
- 网站类型
- 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-05-15
- 截图检查日期
- 2026-10-13
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-13
查看当时使用的来源资料
SHA-256: 5533a4c93776613089b4f15e6427eb7462a36af1a85a0b636975531d62adb1e3
2026-10-13T07:56:07.283Z
来源文件 / 仓库<div align="center"> # Portfolio Website **—** *A modern, responsive multi-page portfolio built with vanilla HTML5, CSS3, and JavaScript* **—** *No frameworks · No build step · Just clean, semantic markup* </div> <p align="center"> <img src="images/ss.png" alt="Portfolio website preview" width="800"> </p> --- ## 🎯 Overview This portfolio showcases education, skills, projects, and contact in a single cohesive site. It features a **dark/light theme**, smooth **scroll-reveal** animations, a **typewriter** hero, **contact form validation**, and a **first-visit loading screen**—all implemented with plain JavaScript and CSS. Perfect for students and developers who want a fast, accessible, and easy-to-customize portfolio without dependencies. --- ## ✨ Features | Feature | Description | |--------|-------------| | **🌓 Theme Toggle** | Dark (default) and light themes with preference saved in `localStorage` | | **📱 Responsive** | Mobile-first layout with hamburger nav and breakpoints for all screen sizes | | **⌨️ Typewriter Hero** | Rotating role titles with type/delete animation on the homepage | | **🎬 Page Loader** | Ball-style loading animation on first visit (skipped on subsequent navigation via `sessionStorage`) | | **👁️ Scroll Reveal** | Sections and cards animate into view on scroll via `IntersectionObserver` | | **📊 Skill Bars** | Animated skill bars that fill when they enter the viewport | | **📝 Contact Form** | Client-side validation (name, email, message) with inline errors and success feedback | | **🔘 Button Ripples** | Click ripple effect on primary/secondary buttons | | **⬆️ Scroll-to-Top** | Floating button appears after scrolling; smooth scroll back to top | | **♿ Accessibility** | Semantic HTML, ARIA labels, focus styles, and keyboard-friendly navigation | | **🎨 Custom Scrollbar** | Themed scrollbar (accent color) for a cohesive look | --- ## 🛠️ Tech Stack - **HTML5** — Semantic structure, `aria-*` attributes, `loading="lazy"` for images - **CSS3** — Custom properties (variables), Flexbox/Grid, transitions, media queries - **Vanilla JavaScript** — No libraries; theme, nav, form, animations, and UX logic in one file - **Fonts** — [Google Fonts](https://fonts.google.com): **Outfit** (UI), **JetBrains Mono** (accents) --- ## 📁 Project Structure ``` Student_Portfolio_Website/ ├── index.html # Home — hero, typewriter, CTA, social links ├── about.html # About Me — profile, stats, story, focus areas ├── education.html # Education — timeline (RUET, HSC, SSC) ├── skills.html # Skills — technical + tools + soft skills with bars ├── projects.html # Projects — VisionGuard51, PONG QUEST, portfolio, surprise site, build log ├── contact.html # Contact — form (name, email, message) + validation ├── css/ │ └── style.css # Global styles, theme variables, components, responsive ├── js/ │ └── script.js # Theme, nav, form, skill bars, reveal, ripple, scroll-top, loader, typewriter ├── images/ │ ├── profile_image1.jpg # Hero profile photo │ ├── about_image.jpg # About section photo │ ├── social/ # LinkedIn, GitHub, Facebook, Instagram icons │ ├── skills/ # Skill icons (HTML5, CSS3, JS, Python, etc.) │ ├── tools/ # Tool icons (VS Code, Git, Firebase, etc.) │ └── projects/ # Project screenshots and media └── README.md ``` --- ## 📄 Pages at a Glance | Page | Content | |------|--------| | **Home** | Hero with name, typewriter roles, short intro, social links, and CTAs (About Me / Get in Touch). | | **About Me** | Profile (name, degree, university, location), bio, “focused on” and “building next” lists, and “outside of coding.” | | **Education** | Timeline: RUET (B.Sc. ETE, 2023–Present), HSC, SSC with years and results. | | **Skills** | Technical skills with progress bars; tools and soft skills in grid/card layout. | | **Projects** | Cards for VisionGuard51, PONG QUEST, this portfolio, Romantic Surprise site, and an “in progress” build log. | | **Contact** | Form with validation and demo success message (no backend; ready to plug into your API or form service). | --- ## 🚀 Getting Started ### Prerequisites - A modern browser (Chrome, Firefox, Safari, Edge) - Optional: a local server (e.g. [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)) to avoid file-protocol issues ### Run Locally 1. **Clone or download** the repo: ```bash git clone https://github.com/rik-byte-shifter/Student_Portfolio_Website.git cd Student_Portfolio_Website ``` 2. **Open the site** - **Option A:** Double-click `index.html` to open in your browser. - **Option B:** Use a local server (e.g. `npx serve .` or VS Code Live Server) and open the URL shown (e.g. `http://localhost:3000`). 3. **Navigate** via the header: Home, About Me, Education, Skills, Projects, Contact. Use the theme toggle to switch between dark and light. --- ## 🌐 Deploying to GitHub Pages 1. **Push the full project** — Ensure the `css/`, `js/`, and `images/` folders (and all their files) are in the repo. If the site looks unstyled (white page, no CSS), the browser can’t find these assets; check that they’re committed and pushed. 2. **Enable Pages** — In your repo: **Settings → Pages → Source**: choose your branch (e.g. `main`) and root, then save. 3. **Open the site** — Use the URL GitHub gives you (e.g. `https://<username>.github.io/<repo-name>/`). Each HTML file includes `<base href="./">` so CSS, JS, and images load correctly from that URL. --- ## 🎨 Customization - **Theme colors:** Edit CSS variables in `css/style.css` under `:root` (dark) and `[data-theme="light"]`. - **Profile images:** Replace `images/profile_image1.jpg` and `images/about_image.jpg`; placeholders are shown if files are missing. - **Content:** Update text and links in each HTML file (name, bio, education, skills, project descriptions, social URLs). - **Hero roles:** Change the typewriter phrases in `js/script.js` inside `initHeroRoleRotator()` → `roles` array. - **Contact form:** The form is client-side only; connect it to your backend or a service (e.g. Formspree, Netlify Forms) by changing the form `action` and/or adding `fetch` in `script.js`. --- ## 🌐 Browser Support - Chrome, Firefox, Safari, Edge (recent versions) - Uses `IntersectionObserver`, `localStorage`, and `sessionStorage` (widely supported) - Graceful degradation if JavaScript is disabled (content still readable; theme defaults to dark) --- ## 📜 License This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details. --- ## 👤 Author **Ranesh Das Rik** - GitHub: [@rik-byte-shifter](https://github.com/rik-byte-shifter) - LinkedIn: [Ranesh Das Rik](https://www.linkedin.com/in/ranesh-das-rik) - Portfolio: This site --- <p align="center"> <sub>Built with HTML, CSS, and JavaScript — no frameworks.</sub> </p>
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

simplefolio
⚡️ A minimal portfolio template for Developers
HTML · 作品集

Freelancer
Freelancer 是 Start Bootstrap 出品的单页作品集模板,专为自由职业者、设计师和小型工作室设计。 页面结构清晰,包含多个内容区块、响应式作品集网格,每个作品项目配有模态窗口展示详情。
HTML · 作品集

Resume
Resume 是 Start Bootstrap 推出的简历与 CV 主题,基于 Bootstrap 构建,采用固定侧边栏加内容区块的结构。
HTML · 作品集

Creative
Creative 是 Start Bootstrap 团队维护的一款单页营销模板,定位明确:为创意机构或产品服务提供一个以作品展示和行动号召为核心的落地页。
HTML · 企业官网

Grayscale
Grayscale 是 Start Bootstrap 出品的深色系单页 HTML 模板,基于 Bootstrap 构建。 它的视觉重心放在大尺寸首屏和清晰的内容分区上,整体氛围偏暗,适合摄影、活动或品牌叙事类网站。
HTML · 企业官网

startbootstrap-stylish-portfolio
Stylish Portfolio 是 Start Bootstrap 维护的单页作品集主题,基于 Bootstrap 构建,采用多个内容区块加离屏导航菜单的结构。
HTML · 作品集
