使用引导程序在多个 html 页面上显示导航栏

新手上路,请多包涵

我一直在寻找这个问题的答案有一段时间了。我正在使用 Bootstrap 框架创建一个投资组合网站。我已经完成了带有固定顶部导航栏的 index.html:

这是主页。顶部显示导航栏。

这个导航栏有指向“生物”页面、“项目”下拉菜单和“联系人”页面的链接。我为其中的每一个创建了单独的 html 页面(例如:我有 index.html、bio.html、contact.html、video.html、design.html 等)。但是,当我按下链接时,它们不显示导航栏,也不显示任何其他格式。

我有这个图形设计 html 代码:

 <!DOCTYPE HTML>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Graphic Design</title>
</head>
<body>
     <h1>Graphic Design</h1>
    <p>Creating</p>
</body>
</html>

这就是显示的内容: graphicdesign.html 页面

我想知道是否有办法让项目中每个 HTML 页面上的导航栏保持一致。

我看过这个: Bootstrap Navbar in multiple pages 但我很难使用 jQuery 加载它。

我也看到了这个: Do I have to duplicate the navbar code on every page with Bootstrap? 但我不想使用 PHP。

感谢您的时间。

原文由 Abby 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 530
1 个回答

首先,我祝贺你的问题。

它解决了编程中的基本需求和最重要的原则之一: [DRY](https://en.wikipedia.org/wiki/Don’t_repeat_yourself) ,这是开发和实施大多数常见 Web 技术的主要原因,例如 phpCSS (可以通过 LESSSASS 进一步干燥)。

php ,例如,被发明并立即被广泛采用主要是因为这个“非常酷的新(当时)功能”:你所要做的就是将扩展名从 .html.php 并且您可以使用以下方法包括其他部分:

 <?php include "part.html"; ?>

通常被称为 模板/组件加载,这也是使用 JavaScript 的常见任务。相当多的图书馆提供它。 For example jQuery provides $.load() while AngularJS enables you to use directive s to include template s, which could either be defined as inline or外部 HTML 。事实上,所有包依赖管理器和所有框架都以某种形式提供它,因为如果没有可重用组件,今天的网络是不可想象的。

If you want to find more options, I suggest you start searching for combinations of html , include , templates , loading and components

请注意,大多数 JavaScript 库都带有开销。然而,最受欢迎的通常提供一些灵活性,允许您有选择地只构建您想要的功能。

包括模板很可能成为核心的一部分 HTML 如果(以及何时)微软向万维网联盟提交的 HTML 组件 将被采用,使用 <component> 标记。

目前,这可以使用 AngularJS s type:"E" 指令。

原文由 tao 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题