白骑士的HTML教学实战项目篇 4.1 创建个人网站

        创建个人网站不仅是展示自己作品、技能和兴趣的理想方式,也是实践HTML、CSS、JavaScript等前端技术的绝佳机会。在本篇博客中,我们将带你一步步构建一个功能齐全、视觉美观的个人网站。从最初的网站规划与设计,到实现页面导航与布局,再到最后的部署与维护,我们将详细探讨每一个关键步骤,帮助你打造属于自己的在线名片。

网站规划与设计

确定目标与内容

        在开始设计个人网站之前,首先要明确网站的目标和内容。问问自己:

  • 目标是什么? 是展示个人作品、撰写博客,还是发布个人简历?
  • 受众是谁? 你的网站是面向潜在雇主、客户,还是社交网络上的朋友?
  • 核心内容是什么? 你希望展示哪些作品、发布哪些信息?

        明确了这些目标后,就可以开始整理网站的内容框架和信息架构了。

设计风格与配色方案

        设计是网站吸引力的重要组成部分。根据个人品牌或喜好,选择一个适合的配色方案和字体风格。

  • 风格选择:简约风格、复古风格、科技感强的风格等。
  • 配色方案:选择主色、辅色和背景色,确保颜色搭配和谐且符合网站的主题。
  • 字体选择:选择易读且与整体风格相符的字体,如Google Fonts中的开源字体。

制作线框图与原型

        在正式开始编码之前,建议先制作网站的线框图或原型,以确定布局和内容组织。

  • 工具:可以使用工具如Figma、Sketch、Adobe XD等,设计出网站的草图或原型。
  • 结构设计:规划好首页、关于我、作品集、联系我等关键页面的布局。

实现页面导航与布局

编写基础HTML结构

        首先,创建一个基础的HTML文档,包含网站的主要结构和导航。例如:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>My Personal Website</title><link rel="stylesheet" href="styles.css">
</head><body><header><nav><ul><li><a href="#home">Home</a></li><li><a href="#about">About Me</a></li><li><a href="#portfolio">Portfolio</a></li><li><a href="#contact">Contact</a></li></ul></nav></header><main id="home"><!-- Home Section Content --></main><section id="about"><!-- About Me Section Content --></section><section id="portfolio"><!-- Portfolio Section Content --></section><section id="contact"><!-- Contact Section Content --></section><footer><p>&copy; 2024 My Personal Website</p></footer>
</body>
</html>

使用CSS实现布局与样式

        使用CSS定义网站的布局和样式,确保页面在不同设备上都能良好展示。

  • 布局设计:可以使用Flexbox或Grid布局实现响应式设计,确保页面在移动设备和桌面设备上都能良好显示。

        例如:

/* 基础样式 */
body {font-family: Arial, sans-serif;line-height: 1.6;margin: 0;padding: 0;
}/* 导航栏样式 */
header {background-color: #333;color: white;padding: 10px 0;text-align: center;
}header nav ul {list-style: none;padding: 0;
}header nav ul li {display: inline;margin: 0 15px;
}header nav ul li a {color: white;text-decoration: none;
}/* 主体内容样式 */
main, section {padding: 20px;
}footer {background-color: #333;color: white;text-align: center;padding: 10px 0;position: fixed;bottom: 0;width: 100%;
}

实现页面导航

        确保网站的导航链接能够正确地指向各个页面或页面中的各个部分。

  • 平滑滚动效果:可以使用CSS的‘scroll-behavior‘属性为锚点链接添加平滑滚动效果。
html {scroll-behavior: smooth;
}
  • 添加JavaScript增强导航:如果需要,可以添加一些JavaScript效果,如动态高亮当前页面链接。
window.addEventListener('scroll', function() {const sections = document.querySelectorAll('section');const navLinks = document.querySelectorAll('nav ul li a');sections.forEach((section, index) => {if(window.scrollY >= section.offsetTop - 10) {navLinks.forEach(link => link.classList.remove('active'));navLinks[index].classList.add('active');}});
});

部署与维护

部署网站

        部署是将你的个人网站发布到互联网上,使其可以被他人访问。

  • 选择托管平台:有许多免费或付费的托管平台可供选择,如GitHub Pages、Netlify、Vercel等。
    • GitHub Pages:非常适合个人项目和开源项目,简单易用。
    • Netlify和Vercel:支持CI/CD流程,可以自动化构建和部署。
  • 域名注册:为你的网站注册一个独特的域名,使其更具专业性。

维护与更新

        网站部署之后,定期的维护和更新是保持其活力的重要步骤。

  • 内容更新:定期添加新的作品、博客文章或其他内容,保持网站的最新状态。
  • 性能优化:定期检查网站的性能,优化加载速度,更新过时的技术和依赖。
  • 安全更新:确保使用最新的Web技术和库,及时修补可能的安全漏洞。
  • 备份与恢复:定期备份网站的内容和配置,确保在发生意外时可以快速恢复。

总结

        在本篇博客中,我们详细讲解了如何从零开始创建一个个人网站。通过规划与设计、实现页面导航与布局,再到最后的部署与维护,你现在已经掌握了构建个人网站的完整流程。创建个人网站不仅是展示自己的一种方式,更是一个持续学习和实践前端技术的过程。希望通过这篇教程,你能顺利创建出一个既美观又实用的个人网站。欢迎继续关注我们的系列教程,学习更多关于网页开发的实用技巧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】——进程概念(万字解读)

一 冯诺依曼体系结构 在此之前&#xff0c;我们先要理解我们计算机的冯诺依曼体系结构&#xff0c;因为是进程的基础 我们所有的操作其实都是基于这样一个模型&#xff0c;比如你在qq上&#xff0c;和别人发送消息&#xff0c;这个消息肯定是先通过输入设备进行输入&#xf…

一个注解轻松搞定审计日志服务!

【审计日志】&#xff0c;简单的说就是系统需要记录谁&#xff0c;在什么时间&#xff0c;对什么数据&#xff0c;做了什么样的更改&#xff01;任何一个 IT 系统&#xff0c;如果要过审&#xff0c;这项任务基本上也是必审项&#xff01; 实现【审计日志】这个需求&#xff0…

整体思想以及取模

前言&#xff1a;一开始由于失误&#xff0c;误以为分数相加取模不能&#xff0c;但是其实是可以取模的 这个题目如果按照一般方法&#xff0c;到达每个节点再进行概率统计&#xff0c;但是不知道为什么只过了百分之十五的测试集 题目地址 附上没过关的代码 #include<bits…

Vue3知识干货分享

在 Vue 3 中&#xff0c;setup 函数的写法有两种主要方式&#xff1a;一种是使用 <script setup> 标签&#xff0c;另一种是写在 export default 对象中作为 setup 函数。它们之间的区别如下&#xff1a; <script setup> 标签 位置&#xff1a;使用 <script set…

联想闪电鲨移动硬盘文件没删除却消失了怎么办

在日常的数据存储与管理中&#xff0c;移动硬盘作为便携且容量可观的存储设备&#xff0c;深受用户青睐。然而&#xff0c;当您发现联想闪电鲨移动硬盘中的文件突然消失&#xff0c;而您确信并未进行删除操作时&#xff0c;这无疑会令人感到困惑与焦虑。本文旨在为您揭开这一谜…

vue-element-admin——<keep-alive>不符合预期缓存的原因

vue-element-admin——<keep-alive>不符合预期缓存的原因 本文章&#xff0c;以现在中后台开发用的非常多的开源项目vue-element-admin为案例。首先&#xff0c;列出官方文档与缓存<keep-alive>相关的链接&#xff08;请认真阅读&#xff0c;出现缓存<keep-ali…

在IEDA里打包Maven项目记录

之前在网上查找到的方式发现比较繁琐&#xff0c;所以把自己的解决办法记录一下分享给兄弟们 <plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</vers…

集合及数据结构第一节————初识集合框架和数据结构

系列文章目录 集合及数据结构第一节————初识集合框架和数据结构 初始集合框架和数据结构 什么是集合框架&#xff1f;集合框架的重要性背后所涉及的数据结构以及算法数据结构的基本概念和术语逻辑结构和物理结构数据类型 文章目录 系列文章目录集合及数据结构第一节——…

文件的读写(标准库函数与系统调用函数),文件描述符的复制

文件描述符 为了解决内核对象在可访问性与安全”性之间的矛盾&#xff0c;Unix系统通过所谓的文件描述符&#xff0c;将位于内核空间中的文件表项间接地提供给运行于用户空间中的程序代码。为了便于管理在系统中运行的各个进程&#xff0c;内核会维护一张存有各进程信息的列表&…

浮点数计算

看这么一小段内容&#xff1a; Test public void testDouble() {double a 0.0000010;double b 10.0;log.info("a * b {}", a * b); } 想要的是通过计算a*b后获取到的值应该是0.00001&#xff0c;但是实际上算出来的值是&#xff1a; a * b 9.999999999999999E…

C++智能指针配合STL模板类

代码 #include <unordered_map> #include <set> #include <memory> class ResID { public:using SP std::shared_ptr<ResID>;ResID() default;ResID(const std::string& id, const std::string& type): m_id(id), m_type(type){}public:~Re…

HoloLens 坐标系统 Coordinate systems

Hololens 和 Unity 空间坐标系统-CSDN博客文章浏览阅读79次。这意味着&#xff0c;在 X、Y 或 Z 轴上相距 2 个单位的物体&#xff0c;在混合现实中的渲染效果是相距 2 米。虽然左手坐标和右手坐标是最常见的系统&#xff0c;但 3D 软件中也会使用其他坐标系。例如&#xff0c;…

Veritas NBU8.3.0.2 安装部署环境备份实施介绍(篇一)

1、本次有两台NBU服务器&#xff0c;都是Windows Server 2016 Standard 2、一台作为Master Server角色&#xff0c;另外一台则作为Media Server角色 3、两台服务器均已加入域并关闭防火墙 4、后期备份客户端会有Linux和Windows系统&#xff0c;也会对接VCenter无代理备份虚拟…

springboot controller参数中如何传递字符串数组

在Spring Boot的Controller中&#xff0c;接收字符串数组作为参数可以通过以下几种方式实现&#xff0c;取决于传递数组的方式&#xff08;比如通过请求参数、路径变量、或者请求体&#xff09;。以下是常见的方法&#xff1a; 1. 通过请求参数传递字符串数组 你可以通过Requ…

xss靶场详解

目录 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 6.第六题 7.第七题 8.第八题 1.第一题 在源码script标签里边&#xff0c;innerhtml是用于访问或修改 HTML 元素内的 HTML 内容的&#xff0c;这里是访问spaghet这个元素的&#xff0c;并通过括号里面的东西搜索当前…

图搜v1.1.3 - 图库几千张图片再也不怕了

图搜是一款使用先进的自然语言处理技术的相册搜索助手&#xff0c;支持通过简单的描述来搜索相册中的图片&#xff0c;如“草丛中的猫”或“公园里的狗”。这款应用完全免费、无需内购&#xff0c;且完全离线使用&#xff0c;保证了用户数据的安全与私密性。它的高效索引系统确…

法律知识有奖竞答

关于开展线上法律知识竞赛活动的通知 根据字【2024】008号 《关于进一步推动普法贯穿于各行业各领域的倡议》的相关要求&#xff0c;特举办本次线上答题活动。 一、活动时间 2024年08月19日08:00至08月25日24:00 二、活动对象 公司全体成员 三、竞赛规则 1、每人每天拥有1次…

Jenkins UI与接口自动化测试持续集成实战

篇幅较长&#xff0c;要耐心阅读哦~ 基础知识简要回顾 持续集成、持续交付的好处与产生的必然性Jenkins服务的搭建方法Jenkins节点管理与用户权限Jenkins插件Jenkins父子多任务关联运行Jenkins报警机制 目录 SeleniumUI自动化测试持续集成演练接口自动化测试持续集成演练 …

vue+echarts:echarts地图页面跳转

在setOption的平级写点击事件&#xff0c;给chart添加click监听 getmapChart.setOption({......})//和数据对应即可 //点击区域实现页面跳转getmapChart.on(click,function(params){// console.log(params);switch(params.name){case "xxxx":top.location.href"…

JUC阻塞队列(四):DelayQueue

1、DelayQueue介绍 DelayQueue 是一个延迟队列&#xff0c;生产者写入一个数据&#xff0c;这个数据具有被直接消费的延迟时间&#xff0c; 让数据具有延迟的特性。 DelayQueue底层也是基于二叉堆来实现的&#xff0c;DelayQueue本就是基于PriorityBQueue 实现的。 二叉堆结构每…