那些语言里面都有一个include的标签,可能叫法不一致你可以将导航做成单独的一个文件,通过这些标签是可以引入这个文件的如果是静态的HTML,没有这类的标签,不建议你使用iframe和JS一般这种情况下,静态页面都会将导航一个一个的加到静态页面中,最后写程序的时候在用include这种标签添加即可<head>标签用于定义文档的头部,它是所有头部元素的容器。<head>中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。<head>标签用于定义文档的头部,它是所有头部元素的容器。<head>中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。文档的头部描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。在<title>和</title>标签之间的文字内容是网页的标题信息,它会出现在浏览器的标题栏中。网页的title标签用于告诉用户和搜索引擎这个网页的主要内容是什么,搜索引擎可以通过网页标题,迅速的判断出网页的主题。每个网页的内容都是不同的,每个网页都应该有一个独一无二的title。link是一个链接标签,包括外部css文件引用、js文件引用、favicon.ico图标引用等作用link介绍
meta包含广泛的内容标签,如网页关键字、网页介绍、作者、网页编码、robots、自动跳转等声明及说明标签。 meta介绍在HTML中,head标签内包含的元素表示网页文档的元数据,即用来描述网页但又不直接显示的数据。下面描述head标签及其常用内容。因为页面默认的字符集是ISO-8859-1,它是欧美系字体的字符集,例如英文之类的语言就没问题,它包含了ASCII字符集在内。因为UTF8包含了中文编码,为了让页面显示中文,我们需要一句<meta charset="utf-8">即可。
另外meta标签代表的是元数据,所以不像title或者其他body内的元素那样需要包含内容,它是空元素,只需要包含属性即可。除了charset属性,还有用name/content对来表示各种各样的元数据,name代表元数据类型,content代表元数据内容,详细可以参考HTML <meta>。可以用一些前端模板来做,例如我用的就是handlebars,你先用handlebars写好公共部分,然后再在js里用Handlebars.compile插入进来
如果你不想在页面加载完后再用js插入的话,建议使用前两者
这种情况一般都需要上构建工具,我是用gulp+jade实现的
能想到的只有两种解决方案:
后台拼接页面,可以用PHP,jsp或是nodejs模板引擎。
使用Ajax做单页面应用(不过这个似乎不符合你的要求)
你可以用shtml include的,不过一般都是在程序语言组装好的,而且每个语言都有各自的叫法,不过都是一个意思,
比如aspx就是用户控件啊
还有一种就是用ajax加载,不过这个不合常理,只不过能实现而已。
你可以考虑把头部导航栏的html 以字符串的形式保存到一个全局变量里,然后在需要的地方通过js动态写入进去。
用react框架轻松实现。
可以试下用组件来实现。
比如PHP里,把a.html中任意一段代码放到b.html文件中,然后在a.html那个地方这样调用
<?php include("b.html")?>
使用pugjs可以
比如把头部菜单栏的HTML当作字符串放在一个单独的js文件里,
样式独立一个文件,js动画(如果有的话一个独立的文件) 用的时候去拿来把HTML插入到页面,然后该用样式用样式,该用js用js就好了。可以用模板引擎,比如arttemplate,上手容易,功能简单,但是css样式,还有js你要再引用一次,关键他可以定义模板变量,可以改变你原来的一些内容
2.vue和react 都有组件功能,其实用过这两个框架后,你这个问题就迎刃而解了
3.node.js搭配nunjucks也不错,node应该属于后端思想编写页面,处理你这个问题很简单这个meta标签中给charset属性设置属性值为“utf-8”,浏览器在解析的过程中就可以知晓该文档是使用“utf-8”编码完成的。
此处的meta标签完成了声明编码的任务,与之相类似还有很多可以用到meta标签,如声明作者、主要内容等等。可以看出meta标签个性化程度很高。
link标签与style标签都用作css样式的引入,区别主要在于文件的操作与体量。
如果是很简单的html文档,需要改变样式的标签也不会很多的话,完全可以使用内联式(<style></style>),甚至是之后会见到的行内式(将style作为属性,具体需要改变的样式作为属性值);
在相对大一些的html文档中css就被作为外部文件进行引入了,这样做的好处是方便修改而且减少代码冗余。针对不同的情况两种方式各有利弊,接下来要说到的script标签也是如此
将多个html页面里引进相同的一个头部页面的方法如下:
1. iframe 包含法。
页头和页尾分别做成一个页面,然后通过iframe嵌入到调用的页面。这种方法在页头页尾高度固定的时候比较适用,因为当页头页尾高度不固定时,需要iframe根据页面内容自适应高度,比较麻烦。
简单代码结构示例:
<html>
<head>
<title>页面</title>
<style type="text/css">
.page{width:950pxmargin:0 auto}
</style>
</head>
<body>
<div class="page">
<iframe frameboder="0" scrolling="no" width="100%" height="80" src="head.html"></iframe>
<div>页面内容</div>
<iframe frameboder="0" scrolling="no" width="100%" height="80" src="foot.html"></iframe>
</div>
</body>
</html>
2. js包含法
页头和页尾改成外接js的形式,通过documen.write输出或其它js的输出的方法。这种方法在页头页尾需要修改时,不利于修改,也不好还原原先的html结构。
<html>
<head>
<title>页面</title>
<style type="text/css">
.page{width:950pxmargin:0 auto}
</style>
</head>
<body>
<div class="page">
<script type="text/javascript" href="head.js"></script>
<div>页面内容</div>
<script type="text/javascript" href="foot.js"></script>
</div>
</body>
</html>
3. shtml方法
运用服务端的包含方法,只需在页面中使用服务端包含命令<!--# include file="文件名称" -->,在被调用的页面嵌入页头和页脚即可。但此方法需要服务端支持ssi(server side include 服务端包含)功能。
<html>
<head>
<title>页面</title>
<style type="text/css">
.page{width:950pxmargin:0 auto}
</style>
</head>
<body>
<div class="page">
<!--#include file="head.html" -->
<div>页面内容</div>
<!--#include file="foot.html" -->
</div>
</body>
</html>