head标签怎么给多个html引用

html-css08

head标签怎么给多个html引用,第1张

前端静态html页面,封装公共的头文件(header:顶部页眉,顶部导航栏等部分)和尾部文件把头部代码和尾部代码分别单独写到一个新的html页面(头部header.html 尾部footer.html),以便引用;将header部分和footer部分提取出来,各保存为header.html和footer.html。在header.html和footer.html文件中,并非是标准的html文档格式!与此同时,通过index.html中的jQuery函数load()将上述的两个公共文件引入进来,从而形成一个完整的页面;并且,不会影响到其他页面对于公共文件的引用和使用;大部分的pc项目中有很多个页面,而每个页面几乎都有重复的部分,今天分享得是如何将这些公共布局样式封装起来,在其他的页面中直接调用如果你是使用动态语言,ASP,PHP,JSP等

那些语言里面都有一个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>