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

页面设计任务 个人网站页面

目录

成品:

任务描述

源码:

详细讲解:

1.导航栏部分

2.主页样式部分

3.关于我部分

4.作品集部分

5.联系我部分

6.页脚部分


成品:

任务描述

创建一个个人网站,包含以下部分:

  1. 顶部导航栏:包含多个链接(如:主页、关于我、技能、作品集、联系我)。导航栏在滚动页面时应该固定在顶部。
  2. 主页部分:显示个人简介,包括背景图片、姓名和简短的介绍文本。
  3. 关于我部分:详细展示个人信息,如教育背景、工作经历等。
  4. 技能部分:用进度条展示不同技能的掌握程度。进度条应该使用动画效果逐渐填充。
  5. 作品集部分:展示多个项目,每个项目都有一个图片、标题和简短的描述。使用CSS Grid布局来排列项目。
  6. 联系我部分:包含一个联系表单,表单字段包括姓名、电子邮件、消息文本框。表单需要进行简单的客户端验证(例如,检查电子邮件格式)。
  7. 页脚:包含社交媒体链接。

源码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>个人网站</title><style>/* 通用样式 */body {margin: 0;padding: 0;background-color: #f4f4f4;color: #333;}/* 导航栏样式 */header {background-color: #1a1a1a;color: #fff;position: fixed;top: 0;width: 100%;z-index: 1000;}header ul {list-style-type: none;padding: 0;margin: 0;display: flex;justify-content: center;}header ul li {margin: 0 15px;}header ul li a {color: #fff;text-decoration: none;padding: 15px 20px;display: block;}header ul li a:hover {background-color: #555;}/* 主页样式 */.hero-section {background-image: url('./pic.jpg');background-size: cover;background-position: center;/* 100vh 意味着元素的高度将等于当前视口的 100%,即它会占据整个视口的高度。 */height: 100vh;display: flex;/* 使子元素(水平方向上的对齐)居中 */justify-content: center;/* 使子元素(垂直方向上的对齐)居中*/align-items: center;color: #fff;/* 备用背景色 */background-color: #333;}.hero-section .introduce {text-align: center;background: rgba(0, 0, 0, 0.5);padding: 20px;}/* 关于我 */.about-section {padding: 50px;background-color: #fff;text-align: center;}.skills {width: 30%;margin: 0 auto;padding-top: 1%;padding-bottom: 1%;}.skill-bar {background-color: #e7e7e7;border-radius: 5px;margin-bottom: 10px;}.skill-level {background-color: rgb(46, 184, 46);border-radius: 5px;text-align: center;color: #fff;}/* 作品集 */.portfolio {padding: 50px;background-color: #fff;text-align: center;}.portfolio-grid {display: flex;/* 间距 */gap: 10px;/* 它表示将子元素在主轴方向居中对齐。 */justify-content: center;}.portfolio-item {width: 45%;background-color: #f4f4f4;box-shadow: 3px 4px 4px #b3b3b3;transition: transform 0.5s, background-color 0.5s;}.portfolio-item:hover {transform: scale(1.05);background-color: #f9f9f9;}.portfolio-item h3 {text-align: center;font-weight: bold;}/* 联系我 */.contact {display: flex;flex-direction: column;align-items: center;padding: 50px;}.contact input, .contact textarea {width: 300px;margin: 5px 0;padding: 10px;}.contact button {margin-top: 10px;padding: 10px 20px;background-color: #333;color: #fff;border: none;/* 将鼠标变为点击 */cursor: pointer;}.contact button:hover {background-color: #555;}/* 页脚 */footer {background-color: #333;color: #fff;text-align: center;padding: 10px 0;margin-top: 10px;}footer .social-media a {color: #fff;margin: 0 10px;text-decoration: none;}footer .social-media a:hover {text-decoration: underline;}</style>
</head>
<body><header><ul><li><a href="#home">主页</a></li><li><a href="#about">关于我</a></li><li><a href="#skills">技能</a></li><li><a href="#portfolio">作品集</a></li><li><a href="#contact">联系我</a></li></ul>
</header><section id="home" class="hero-section"><div class="introduce"><h1>欢迎来到我的个人网站</h1><p>我是Mike,一位在科技界与公益领域的爱好者。</p></div>
</section><section id="about" class="about-section"><h2>关于我</h2><p>这是我的教育背景和个人信息。</p>
</section><section id="skills" class="about-section"><h2>技能</h2><div class="skills"><p>Java</p><div class="skill-bar"><div style="width: 80%" class="skill-level">80%</div></div><p>C++</p><div class="skill-bar"><div style="width: 90%" class="skill-level">90%</div></div><p>HTML</p><div class="skill-bar"><div style="width: 70%" class="skill-level">70%</div></div></div>
</section><section id="portfolio" class="portfolio"><h2>作品集</h2><div class="portfolio-grid"><div class="portfolio-item"><h3>项目1</h3><p>计算器:这是一款能够加减乘除的计算器。</p></div><div class="portfolio-item"><h3>项目2</h3><p>个人社保计算器:这是一款计算个人社保的工具。</p></div></div>
</section><section id="contact" class="contact"><h2>联系我</h2><label for="name">姓名</label><input type="text" id="name"><label for="email">电子邮件</label><input type="email" id="email"><label for="message">消息</label><textarea id="message"></textarea><button type="submit">发送</button>
</section><footer><p>© 2024 个人网站. 保留所有权利.</p><div class="social-media"><a href="#">微博</a><a href="#">GitHub</a><a href="#">LinkedIn</a></div>
</footer></body>
</html>

详细讲解:

1.导航栏部分

/* 导航栏样式 */
header {background-color: #1a1a1a;color: #fff;/* 固定导航栏一直显示 */position: fixed;top: 0;width: 100%;z-index: 1000;
}header ul {/* 除去无需表的装饰 */list-style-type: none;padding: 0;margin: 0;display: flex;/* 居中显示 */justify-content: center;
}header ul li {margin: 0 15px;
}header ul li a {color: #fff;/*去除下划线 */text-decoration: none;padding: 15px 20px;display: block;
}header ul li a:hover {background-color: #555;
}
<header><ul><li><a href="#home">主页</a></li><li><a href="#about">关于我</a></li><li><a href="#skills">技能</a></li><li><a href="#portfolio">作品集</a></li><li><a href="#contact">联系我</a></li></ul>
</header>

(1).重点要掌握position: fixed;的使用

2.主页样式部分

/* css主页样式 */
.hero-section {background-image: url('./pic.jpg');background-size: cover;background-position: center;/* 100vh 意味着元素的高度将等于当前视口的 100%,即它会占据整个视口的高度。 */height: 100vh;display: flex;/* 使子元素(水平方向上的对齐)居中 */justify-content: center;/* 使子元素(垂直方向上的对齐)居中*/align-items: center;color: #fff;/* 备用背景色 */background-color: #333;
}.hero-section .introduce {text-align: center;/* 半透明效果 */background: rgba(0, 0, 0, 0.5);padding: 20px;
}
<section id="home" class="hero-section"><div class="introduce"><h1>欢迎来到我的个人网站</h1><p>我是Mike,一位在科技界与公益领域的爱好者。</p></div>
</section>

(1).重点掌握 height: 100vh;  background: rgba(0, 0, 0, 0.5);的用法。

3.关于我部分

/* css关于我 */
.about-section {padding: 50px;background-color: #fff;text-align: center;
}.skills {width: 30%;/* 居中 */margin: 0 auto;padding-top: 1%;padding-bottom: 1%;
}.skill-bar {background-color: #e7e7e7;border-radius: 5px;margin-bottom: 10px;
}.skill-level {/* 设置进度调颜色 */background-color: rgb(46, 184, 46);border-radius: 5px;/* 文本居中 */text-align: center;color: #fff;
}
<section id="about" class="about-section"><h2>关于我</h2><p>这是我的教育背景和个人信息。</p>
</section><section id="skills" class="about-section"><h2>技能</h2><div class="skills"><p>Java</p><div class="skill-bar"><div style="width: 80%" class="skill-level">80%</div></div><p>C++</p><div class="skill-bar"><div style="width: 90%" class="skill-level">90%</div></div><p>HTML</p><div class="skill-bar"><div style="width: 70%" class="skill-level">70%</div></div></div>
</section>

(1).重点要掌握 进度条的构建。

4.作品集部分

/* 作品集 */
.portfolio {padding: 50px;background-color: #fff;text-align: center;
}.portfolio-grid {display: flex;/* 左右两部分的间距 */gap: 10px;/* 表示将子元素在主轴方向居中对齐。 */justify-content: center;
}.portfolio-item {width: 45%;background-color: #f4f4f4;/* 阴影效果 */box-shadow: 3px 4px 4px #b3b3b3;/* 渐变 */transition: transform 0.5s, background-color 0.5s;
}.portfolio-item:hover {/* 放大程度 */transform: scale(1.05);background-color: #f9f9f9;
}.portfolio-item h3 {text-align: center;font-weight: bold;
}
<section id="portfolio" class="portfolio"><h2>作品集</h2><div class="portfolio-grid"><div class="portfolio-item"><h3>项目1</h3><p>计算器:这是一款能够加减乘除的计算器。</p></div><div class="portfolio-item"><h3>项目2</h3><p>个人社保计算器:这是一款计算个人社保的工具。</p></div></div>
</section>

(1).重点要掌握 display: flex;的使用,并列显示;transition和transform的使用。

5.联系我部分

/* 联系我 */
.contact {/* 特定格式显示 */display: flex;/* 以竖着显示 */flex-direction: column;/* 使子元素(垂直方向上的对齐)居中*/align-items: center;padding: 50px;
}.contact input, .contact textarea {width: 300px;margin: 5px 0;padding: 10px;
}.contact button {margin-top: 10px;padding: 10px 20px;background-color: #333;color: #fff;border: none;/* 将鼠标变为点击 */cursor: pointer;
}.contact button:hover {background-color: #555;
}
<section id="contact" class="contact"><h2>联系我</h2><label for="name">姓名</label><input type="text" id="name"><label for="email">电子邮件</label><input type="email" id="email"><label for="message">消息</label><textarea id="message"></textarea><button type="submit">发送</button>
</section>

(1)重点要掌握:输入框的生成,文本区域的生成;display: flex;flex-direction: column;的搭配使用;cursor: pointer;将鼠标变为点击的使用;

6.页脚部分

/* css页脚 */
footer {background-color: #333;color: #fff;text-align: center;padding: 10px 0;margin-top: 10px;
}footer .social-media a {color: #fff;margin: 0 10px;text-decoration: none;
}footer .social-media a:hover {/* 当鼠标悬浮到时,显示下划线 */text-decoration: underline;
}
<footer><p>© 2024 个人网站. 保留所有权利.</p><div class="social-media"><a href="#">微博</a><a href="#">GitHub</a><a href="#">LinkedIn</a></div>
</footer>

(1).重点掌握:footer的使用;text-decoration: underline;的使用;


完 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Maven 管理依赖的详细步骤
  • Centos安装Jenkins教程详解版(JDK8+Jenkins2.346.1)
  • 8月22日笔记
  • 【微服务部署】Linux部署微服务启动报ORA-01005
  • 网络安全大考,攻防演练驱动企业常态化安全运营升级!
  • Java导出DBF文件(附带工具类)
  • mount的文件系统中文件名显示乱码问题
  • 【SQL】直属部门
  • 深入了解ASPICE框架及相关指导文件
  • Stable Diffusion整合包与手动本地部署结合内网穿透远程AI绘画
  • 高精度夹治具的使用技巧和注意事项
  • spring boot学习第二十篇:使用minio上传下载文件获取文件路径
  • UniApp中的Flex布局技巧
  • 上书房信息咨询:商业项目调研方法有哪些
  • 用ClouDNS注册免费永久域名
  • Android Volley源码解析
  • Android单元测试 - 几个重要问题
  • CSS实用技巧干货
  • Hibernate【inverse和cascade属性】知识要点
  • Java程序员幽默爆笑锦集
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React中的“虫洞”——Context
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 力扣(LeetCode)357
  • 马上搞懂 GeoJSON
  • 每天一个设计模式之命令模式
  • 前端路由实现-history
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何合理的规划jvm性能调优
  • 小李飞刀:SQL题目刷起来!
  • #define
  • #define与typedef区别
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (4.10~4.16)
  • (AngularJS)Angular 控制器之间通信初探
  • (C++20) consteval立即函数
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (Oracle)SQL优化技巧(一):分页查询
  • (二) 初入MySQL 【数据库管理】
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (接口自动化)Python3操作MySQL数据库
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .NET Core 中的路径问题
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • @font-face 用字体画图标
  • @RequestMapping 的作用是什么?
  • @vue/cli脚手架
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)