从零开始:创建你的个人网页导航
前言在信息爆炸的时代我们每天需要访问大量网站工作工具、学习资源、社交媒体、娱乐平台……将这些链接零散地保存在浏览器书签里不仅难以管理查找起来也效率低下。一个个人网页导航Personal Start Page可以完美解决这个问题。它将你最常访问的网站、最常用的工具以清晰美观的卡片或列表形式集中展示在一个页面上每次打开浏览器新标签页即可直达目标极大提升工作和学习效率。本文将手把手教你如何从零开始创建一个属于你自己的、可定制化的个人网页导航。一、什么是个人网页导航个人网页导航是一个高度定制化的浏览器主页或独立页面其核心功能是聚合与快速访问。核心价值为你提供一个专属的互联网入口将杂乱的书签可视化、分类化。常见形态静态HTML页面最简单、最轻量部署在GitHub Pages或任何静态托管服务上。浏览器扩展如“Infinity新标签页”提供丰富的主题和云同步。自托管应用如使用Dashy、Heimdall等开源项目功能更强大支持Docker部署。本文目标我们将创建一个静态HTMLCSSJavaScript的导航页无需后端部署简单完全掌控。二、创建步骤我们将分三步完成搭建基础结构、美化样式、添加交互功能并部署。1. 创建项目结构与HTML首先创建一个项目文件夹例如my-web-nav并在其中创建以下文件。!DOCTYPEhtmlhtmllangzh-CNheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0title我的个人导航/titlelinkrelstylesheethrefstyle.csslinkrelstylesheethrefhttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css/headbodydivclasscontainerheaderh1iclassfas fa-compass/i我的工作台/h1pclasssubtitle高效每一天从这里开始/pdivclasssearch-boxinputtypetextidsearchInputplaceholder搜索书签或直接输入网址跳转...buttonidsearchBtniclassfas fa-search/i/button/div/headermainsectionclasscategoryh2iclassfas fa-code/i开发工具/h2divclasslink-gridahrefhttps://github.comclasslink-cardtarget_blankiclassfab fa-github/ispanGitHub/span/aahrefhttps://stackoverflow.comclasslink-cardtarget_blankiclassfab fa-stack-overflow/ispanStack Overflow/span/aahrefhttps://developer.mozilla.orgclasslink-cardtarget_blankiclassfab fa-mdn/ispanMDN Web Docs/span/aahrefhttps://v2.cn.vuejs.org/classlink-cardtarget_blankiclassfab fa-vuejs/ispanVue.js/span/a/div/sectionsectionclasscategoryh2iclassfas fa-newspaper/i资讯阅读/h2divclasslink-gridahrefhttps://sspai.comclasslink-cardtarget_blankiclassfas fa-feather-alt/ispan少数派/span/aahrefhttps://www.infoq.cnclasslink-cardtarget_blankiclassfas fa-chart-line/ispanInfoQ/span/aahrefhttps://juejin.cnclasslink-cardtarget_blankiclassfas fa-gem/ispan掘金/span/a/div/section!-- 更多分类可以在此添加 --sectionclasscategoryh2iclassfas fa-plus/i添加新分类/h2divclasslink-griddivclasslink-card add-cardidaddLinkBtniclassfas fa-plus-circle/ispan添加新链接/span/div/div/section/mainfooterp©spanidcurrentYear/span我的个人导航 | 使用纯 HTML/CSS/JS 构建/p/footer/divscriptsrcscript.js/script/body/html2. 编写CSS样式 (style.css)接下来为页面添加美观的样式。*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Microsoft YaHei,sans-serif;}body{background:linear-gradient(135deg,#6a11cb 0%,#2575fc 100%);color:#333;min-height:100vh;padding:20px;}.container{max-width:1200px;margin:0 auto;background-color:rgba(255,255,255,0.95);border-radius:24px;box-shadow:0 20px 60pxrgba(0,0,0,0.3);overflow:hidden;padding:40px;}/* 头部样式 */header{text-align:center;margin-bottom:50px;padding-bottom:30px;border-bottom:2px solid #eee;}header h1{font-size:3rem;color:#2d3436;margin-bottom:10px;}header h1 i{color:#6a11cb;margin-right:15px;}.subtitle{font-size:1.2rem;color:#636e72;margin-bottom:30px;}.search-box{display:flex;max-width:600px;margin:0 auto;border-radius:50px;overflow:hidden;box-shadow:0 5px 15pxrgba(106,17,203,0.2);}#searchInput{flex-grow:1;padding:18px 25px;border:none;font-size:1.1rem;outline:none;}#searchBtn{background:linear-gradient(to right,#6a11cb,#2575fc);color:white;border:none;padding:0 35px;cursor:pointer;font-size:1.2rem;transition:opacity 0.3s;}#searchBtn:hover{opacity:0.9;}/* 主内容区 */main{display:flex;flex-direction:column;gap:40px;}.category h2{font-size:1.8rem;color:#2d3436;margin-bottom:20px;padding-left:10px;border-left:5px solid #2575fc;}.category h2 i{margin-right:10px;color:#6a11cb;}.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;}.link-card{background:white;border-radius:16px;padding:25px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#333;box-shadow:0 8px 20pxrgba(0,0,0,0.08);transition:all 0.3s ease;border:2px solid transparent;}.link-card:hover{transform:translateY(-8px);box-shadow:0 15px 30pxrgba(106,17,203,0.25);border-color:#6a11cb;color:#6a11cb;}.link-card i{font-size:2.5rem;margin-bottom:15px;color:inherit;}.link-card span{font-size:1.1rem;font-weight:600;}/* 添加卡片按钮样式 */.add-card{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);color:#636e72;cursor:pointer;}.add-card:hover{background:linear-gradient(135deg,#c3cfe2 0%,#f5f7fa 100%);color:#2d3436;border-color:#636e72;}/* 页脚 */footer{margin-top:60px;text-align:center;padding-top:25px;border-top:1px solid #eee;color:#636e72;font-size:0.9rem;}3. 添加交互与部署 (script.js)最后为页面添加简单的交互功能并介绍如何部署。// 设置当前年份document.getElementById(currentYear).textContentnewDate().getFullYear();// 搜索功能constsearchInputdocument.getElementById(searchInput);constsearchBtndocument.getElementById(searchBtn);functionperformSearch(){constquerysearchInput.value.trim();if(!query)return;// 判断是否是网址简单判断if(query.includes(.)||query.startsWith(http)){// 如果不是以http/https开头则加上https://consturlquery.startsWith(http)?query:https://${query};window.open(url,_blank);}else{// 否则使用Google搜索constsearchUrlhttps://www.google.com/search?q${encodeURIComponent(query)};window.open(searchUrl,_blank);}searchInput.value;// 清空输入框}searchBtn.addEventListener(click,performSearch);searchInput.addEventListener(keypress,function(e){if(e.keyEnter){performSearch();}});// 添加链接功能示例弹窗提示constaddLinkBtndocument.getElementById(addLinkBtn);addLinkBtn.addEventListener(click,function(){consturlprompt(请输入要添加的链接地址例如https://example.com);constnameprompt(请输入链接显示的名称);consticonClassprompt(请输入FontAwesome图标类名例如fab fa-google留空则使用默认图标,fas fa-link);if(urlname){alert(功能演示已记录添加“${name}” (${url}) 的请求。\n\n在实际项目中你需要\n1. 将数据保存到本地存储(localStorage)或后端。\n2. 动态创建新的 link-card 元素插入到DOM中。);// 实际开发中此处应调用函数更新页面和数据存储}});// 示例从本地存储加载书签高级功能骨架functionloadBookmarks(){constsavedBookmarkslocalStorage.getItem(myWebNavBookmarks);if(savedBookmarks){console.log(找到已保存的书签:,JSON.parse(savedBookmarks));// 在这里遍历书签数据动态生成 link-card}}// 页面加载时尝试加载书签window.addEventListener(DOMContentLoaded,loadBookmarks);三、部署你的导航页制作完成后你需要让它能在互联网上被访问。本地运行直接用浏览器打开index.html文件即可预览。部署到 GitHub Pages免费推荐在GitHub上创建一个新的仓库如my-web-nav。将你的index.html,style.css,script.js三个文件上传至仓库。进入仓库的Settings-Pages。在Source下拉菜单中选择main分支或你上传文件的分支然后点击Save。稍等片刻GitHub会提供一个https://你的用户名.github.io/my-web-nav/的链接这就是你导航页的在线地址了设置为浏览器主页Chrome/Edge进入设置-外观-显示主页按钮- 选择输入网址并填入你的导航页地址。Firefox进入选项-主页在新窗口和标签页处选择自定义网址并填入你的导航页地址。总结恭喜你已经成功创建并部署了一个功能齐全、样式美观的个人网页导航。这个项目不仅实用也是一个很好的前端学习案例涵盖了HTML结构、CSS布局与动画、JavaScript基础交互。你可以在此基础上继续扩展换肤功能添加切换浅色/深色模式的按钮。数据持久化使用localStorage或IndexedDB保存用户添加的链接。天气插件调用天气API在页面上显示实时天气。笔记便签集成一个简单的文本区域用于记录临时想法。现在打开浏览器新标签页享受这个专属于你的高效入口吧

相关新闻

程序员就业:从团队协作视角展开

程序员就业:从团队协作视角展开

聊《别急着重做程序员就业,先看岗位到底在筛什么》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。 摘要 摘要:Codex、Claude Code、各种 Agent 工具个人试用都很香,但企业招聘的…

2026/10/26 20:27:32 阅读更多 →
STM32便携图传实战:从硬件选型到软件调试的完整指南

STM32便携图传实战:从硬件选型到软件调试的完整指南

最近在准备电赛H题“便携图传”项目时,发现很多同学在硬件选型、软件配置和系统联调上遇到了不少麻烦。网上资料要么过于零散,要么只讲理论缺乏实操,导致从零搭建一个稳定可用的图传系统费时费力。本文将围绕“26电赛H题-tab5便携图传”这一开…

2026/10/26 15:49:53 阅读更多 →
LangChain 2026实战:构建可靠Agent与RAG管道

LangChain 2026实战:构建可靠Agent与RAG管道

# LangChain 2026实战:构建可靠Agent与RAG管道## 一、背景与挑战:从原型到生产的质变2026年,LangChain已经从2022年10月发布时的简单prompt链式框架,蜕变为全栈LLM应用生态。这个转变的背景是:开发者不再满足于“调通A…

2026/10/24 17:02:37 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →