本问题已经有最佳答案,请猛点这里访问。
我几年前用html和框架制作了网站。 现在,我可以看到所有现代页面都将html5与css(div)一起使用。 我已经知道如何制作一个不错的网站设计,但是我正在努力浏览网站。
可以说我有一个包含2个div(div导航和div内容)的index.html网站。
当我单击菜单栏中的链接(div导航)时,href是另一个.html文件。 例如,我有一个指向about.html的链接。
about.html是index.html的副本,只是div内容中带有另一个文本吗? 那么菜单又被构建了吗?
这意味着对于每一面,我都必须复制index.html并重写div内容部分。 和div导航部分将始终相同吗?
我真的很想让菜单栏每次都出现在每个文件上,而不是使用旧的框架样式(如果这样做的话)。
当前大多数网站不再是"静态"的,而是使用某种(服务器端)技术,该技术允许将相同的菜单结构包含在网站的不同页面中。
您可以将导航存储在单个文件中,例如my_awesome_menu.php,并在网站的每个页面中使用include 'my_awesome_menu.php';。 在my_awesome_menu.php中添加新项目时,更改将在所有页面上进行。 仅当服务器正在运行时,它才有效。 它无法像使用html文件一样在您的桌面上运行,因为将没有人执行php文件。
您应将所有样式存储在一个或多个外部.css文件中。 它易于维护,并且可以从中受益,因为一旦下载后浏览器就会缓存样式。 这意味着,当用户打开第二页时,他将不再加载CSS,而只会加载该特定页面的HTML。
@ 1:是的,我已经尝试过使用php中的函数。 但是在函数中,如果我没有记错的话,则必须对任何HTML代码使用echo" html code"。 我读这是一个非常糟糕的解决方案。 @ 2:是的,这就是我已经知道的方式。 但是,我必须再次在每个站点(.html文件)上构建菜单吗? 因此,每当我单击链接时,都会重新建立整个网站? 这意味着我在每个.html文件中都有部分代码。 当我更改菜单时,是否必须在每个.html文件中进行更改?
@jeekay您不必在my_awesome_menu.php中使用任何php,它也可以是my_awesome_menu.html。 您只需将此文件的全部内容包括到另一个文件的任何位置,即可在其中插入php include函数。 echo函数在编写php代码时使用。 您所用的唯一php代码受短语限制
好的,尝试一下。 它很棒:-)