我想分开我的代码以使其更清晰。为此,我没有保留一个大的php文件,而是保留了一个“主”文件,并在需要时在其中包含其他文件。问题在于CSS仅适用于“主”文件,不适用于包含的文件。
我非常确定这不是路径问题,因为我正在处理同一文件夹中的每个文件(我知道这不是最好的工作方式,但是到目前为止我只有很少的文件,所以不是很大)。我仔细检查了最终的写作错误。
这是我的“主要” php文件:
<!DOCTYPE html>
<html>
<head>
<title>A very nice title</title>
<link rel="stylesheet" type="text/css" href="style1.css">
<meta charset="utf-8" />
</head>
<body>
<?php include("file2.php"); ?>
</body>
这是我的“ file2.php”文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style1.css">
<meta charset="utf-8" />
</head>
<div class="beer">
<img src="simple_beer.png" alt="beer picture"/>
<div class="description>
<p> a simple text </p>
<form id="add" action="[nothing interesting]">
<input type="number>
<input type="submit" value="add to card">
</form>
</div>
</div>
所以我对两个php文件都使用了相同的CSS文件。但是当我查看它时,它不能在file2.php上工作(我正在本地主机上工作)。我试图从浏览器(firefox)删除缓存。如果您想知道为什么我要处理php文件而不是HTML,那仅仅是因为我打算以后添加php代码。
我一直在寻找解决方案将近两个小时,似乎没有任何效果。预先感谢!
答案 0 :(得分:1)
在main.php文件中包含与标头相关的所有内容,从file2.php中删除head部分,然后在main.php的body部分中包含file2.php。当您包含该文件时,它将获得上面的所有内容。这意味着在include()函数之前在main.php中拥有的任何内容都可以在被调用文件中访问(由于您可以将所有内容链接一次并使它在所有被调用文件中可用)。
Include()从被调用文件中获取不需要的完整代码结构(谈论头标签),如果主文件将在标签中包含您需要的所有内容。