当前位置: 首页 > news >正文

第一次搭建个人主页+GitHub部署全记录:HTML/CSS/JS前端实现+留言板踩坑

第一次搭建个人主页+GitHub部署全记录:HTML/CSS/JS前端实现+留言板踩坑

作为编程新手,终于动手搭建了属于自己的个人主页!从空白HTML到前端美化,再到GitHub顺利部署上线,最后卡在留言板后端交互,全程既充实又有成就感。这篇文章就来详细分享我的实现过程、代码细节和避坑心得,适合和我一样的前端入门者参考~

一、技术栈与核心目标

  • 技术栈:HTML(搭建框架)+ CSS(样式美化)+ JavaScript(交互实现)
  • 核心功能:页面布局、导航平滑滚动、技能项hover动画、留言板表单提交、GitHub部署
  • 后续规划:完善后端交互,让留言板实现真实数据存储与响应

二、实现过程分步拆解

1. HTML:搭建页面基础框架

首先用HTML构建了页面的核心结构,主要分为3个部分:

  • 导航栏:包含首页、技能、留言板等导航链接,用于页面内跳转
  • 主体区块:首页欢迎区、技能展示区、留言板表单区,明确页面功能分区
  • 表单区域:留言板的输入表单,包含姓名、联系方式、留言内容等输入框和提交按钮

关键在于给核心元素添加唯一ID(如contactForm)和类名(如skill-item),为后续CSS美化和JS绑定事件做准备。

2. CSS:从"素颜"到"精致"的美化

CSS主要负责页面样式优化,重点实现了这几个效果:

  • 全局样式:统一字体、清除默认边距,让页面风格一致
  • 导航栏:固定顶部+横向排列,hover时文字变色,提升交互感
  • 区块布局:首页占满屏幕高度,技能项卡片式设计,表单居中对齐
  • 细节优化:按钮、输入框添加圆角和hover效果,增强视觉层次

技能项采用了绿色卡片+圆角设计,hover时不会变形,配合后续JS的放大动画,视觉效果更生动。

3. JavaScript:实现交互功能

JS主要完成了3个核心交互,代码简洁但实用:

  • 表单提交绑定:给留言板表单添加提交事件,阻止默认刷新,弹出成功提示并重置表单
  • 平滑滚动:点击导航链接,平滑跳转到对应页面区块,比默认跳转更友好
  • 技能项hover动画:鼠标悬浮时技能项放大1.1倍,离开时恢复原样,过渡效果流畅

代码片段(核心JS逻辑):

// 表单提交功能:仅绑定联系方式表单
const contactForm = document.getElementById('contactForm');
contactForm.addEventListener('submit', function(e) {e.preventDefault();alert('留言发送成功!我会尽快回复你~');contactForm.reset();
});// 平滑滚动:点击导航栏跳转到对应区块
document.querySelectorAll('nav a').forEach(link => {link.addEventListener('click', function(e) {e.preventDefault();const targetId = this.getAttribute('href');document.querySelector(targetId).scrollIntoView({behavior: 'smooth' // 平滑滚动效果});});
});// 技能项hover动画:放大效果
document.querySelectorAll('.skill-item').forEach(item => {item.addEventListener('mouseover', function() {this.style.transform = 'scale(1.1)';this.style.transition = 'transform 0.3s';});item.addEventListener('mouseout', function() {this.style.transform = 'scale(1)';});
});

4. GitHub部署:顺利上线无踩坑

前端功能完成后,就想着把项目部署上线,让别人也能访问。选择了GitHub Pages,整个过程意外顺利,没有遇到大问题:

  1. 在GitHub创建新仓库,仓库名严格遵循「用户名.github.io」格式
  2. 本地项目打包,通过Git命令(git add → git commit → git push)提交到仓库
  3. 进入仓库设置,找到GitHub Pages选项,选择main分支作为部署源
  4. 等待几分钟,直接访问「用户名.github.io」就能看到自己的个人主页,第一次上线项目真的超级有成就感~

三、遇到的问题与踩坑记录

1. 已解决的小问题

  • 导航跳转不生效:一开始忘记给目标区块添加对应ID,补充ID后正常跳转
  • 技能项放大后布局混乱:通过inline-block布局+transition过渡效果,解决了排版错乱问题

2. 待解决的核心问题

目前最大的卡点是留言板后端交互:前端表单提交后,没有弹出预期的成功提示窗,我调了一下network 其中response直接返回了html页面代码有点懵逼应该是前后端交互有问题也许数据库没连上还不知道,留言内容也无法真正存储。推测可能是接口配置错误、前后端数据格式不匹配或请求方式不当导致,明天会重点排查这几个方向,后续会更新解决方法。

四、总结与后续规划

1. 本次收获

  • 掌握了HTML/CSS/JS的基础协同使用,能独立完成简单前端页面的开发
  • 顺利学会GitHub Pages部署流程,成功上线第一个个人项目
  • 理解了前端交互的核心逻辑,比如事件绑定、默认行为阻止等

2. 后续优化方向

  • 修复留言板后端交互问题,解决提示窗失效和responseHTML直接返回的问题,实现留言存储与展示
  • 优化页面响应式布局,适配手机、平板等不同设备
  • 添加更多交互功能,比如页面加载动画、回到顶部按钮
  • 完善技能展示区,添加技能熟练度进度条

第一次搭建个人主页的过程虽然在后端交互上遇到了卡点,但整体顺利且收获满满。对于前端新手来说,从0到1实现一个可访问的项目,是提升编程兴趣和实战能力的最好方式~ 如果你也在搭建个人主页,欢迎交流经验;如果有解决留言板后端交互的思路,也欢迎在评论区指点!

网页 链接:个人主页

http://www.dtcms.com/a/606018.html

相关文章:

  • 中山中小企业网站建设做电商运营需要具备什么能力
  • 音视频课程上传、加密与播放技术详解:知识付费系统源码开发实践
  • 专业做网站的域名官网
  • 网站响应式图片切换代码网站升级建设中
  • 理解 CSS 层叠上下文与 z-index — 从一个真实案例出发
  • 盘一盘Redis的底层数据结构
  • C++_chapter15_C++重要知识点_lambda,initializer_list
  • Collections工具类
  • 国家建设执业注册中心网站字体怎么安装到电脑wordpress
  • Android16 EDLA 开机向导的锁屏设置页面,HDMI out 鼠标不显示问题分析解决
  • 基于yolov8的SAR影像目标检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】
  • 网站做直播功能需要注册吗腾讯广告投放平台官网
  • 网站空间 阿里云北京金山办公软件股份有限公司官网
  • 大丰有做网站的爱客crm官网
  • KingBase通过exp脚本实现数据库自动备份
  • DeepSeek的入门和使用
  • 视觉进阶篇—— PyTorch 安装
  • net开发网站站长素材音效
  • 登录场景下短信验证码功能的设计与实现(Vue 2 + Element UI + Axios附完整代码)
  • SpringBoot-36-开发实战JPA的使用(一对多)@OneToMany+@ManyToOne
  • 云桌面办公系统详解:开启灵活、安全、高效的工作新纪元
  • 尚硅谷 SpringCloud03 Sentinel服务保护(限流 熔断降级)-安装启动sentinel-请求限流-限流异常处理
  • 地产网站建设wordpress建站好么
  • EVM(以太坊虚拟机)及其运行机制详解
  • 跨境电商支付全链路解析
  • Qt+C++ 混合开发架构设计:QML 与 C++ 高效通信的解耦方案及设计模式
  • 网站项目实施方案聊城手机网站建设公司
  • Rust开发之Trait 定义通用行为——实现形状面积计算系统
  • The JAVA_HOME environment variable is not defined correctly 解决方案
  • 南昌网站建设工作开通微信公众号需要多少钱