有效地包括另一个HTML文件
我有一个文件一个HTML文件,a.html,和一个CSS文件,a_style.css,链接到一个很<head>
。我现在想要包含第二个html文件b.html,它具有包含在<style>
标记中的其自己的样式。具体来说,b.html指定我想要的页脚a.html。我的问题是:a_style.css文件定义了标题,边距等,这些也适用于b.html。如果我包含b.html中的a.html,a_style.css仍然适用于包含的文件吗?此外,以下是我的所有,包括b.html在a.html:有效地包括另一个HTML文件
<div class="footer">
<?php include('./project/b.html');?>
</div>
难道这还不够吗?或者我需要包括在的<head>
的东西,类似于
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
(这个特殊的代码来自MathJax)?我没有事先知道的PHP和发现这个片段的类似问题:Insert one HTML file into another HTML file。 这还没有为我工作。我尝试将扩展名更改为.php,但随后eclipse编辑器不允许我再次折叠/展开单个标签,这使得脚本非常混乱。
如果您只是想包含html代码,php命令include
不是正确的工具。正如在评论中提到的那样,它用于包含PHP代码。你只是想读一个文件并打印出来。所以,你想用的是readfile
<div class="footer">
<?php readfile('./project/b.html');?>
</div>
不要紧,在CSS/JS包括有。大多数人将它们包含在<head>
-Tag中,其他人则喜欢在<body>
标签的末尾添加它们。但是如果你想让它工作,那并不重要。
的a_style.css文件定义了标题,页边距等,它们也适用于b.html。如果我包含b.html中的a.html,a_style.css仍然适用于包含的文件吗?
让我开始说,这一切都取决于你在哪里包括你的文件。不管哪种方式,相互冲突的样式都将被覆盖。让我解释一下。
假设你有三个文件:
- a.php只会
- a_style.css
- 湾PHP
方案:1
如果包括a_style.css包括b.php在a.php只会文件后:
a.php只会
a_style.css
p{
color: #00ff00; /* green */
}
b.php
<style>
p{
color: #0000ff; /* blue */
}
</style>
输出:
既然我们已经包括A_S tyle.css后b.php,因此a_style.css将覆盖每个冲突的样式(在本例中为段落颜色),因此绿色的段落。
方案:2
如果包括a_style.css包括b.php在a.php只会文件之前:
一.php
<!DOCTYPE html>
<html lang="en">
<head>
<title>Page A</title>
<link href="a_style.css" type="text/css" rel="stylesheet" />
<?php
require_once("b.php");
?>
</head>
<body>
<p>This is a paragraph</p>
</body>
</html>
a_style.css
p{
color: #00ff00; /* green */
}
b.php
<style>
p{
color: #0000ff; /* blue */
}
</style>
输出:
既然我们已经b.php之前包括a_style.css,因此b.php将覆盖每一个冲突的样式(在这种情况下款颜色),因此蓝色款。
您是否尝试将文件重命名为'.php'而不是'.html'? –
是的。这没有奏效。此外,它导致日食不再显示展开/折叠功能...... –