首页 > 解决方案 > CSS 不适用于包含的 PHP 文件

问题描述

我想分开我的代码以使其更清晰。为此,我没有保留一个大的 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 代码。

我一直在寻找解决方案将近两个小时,似乎没有任何效果。提前致谢 !

标签: phphtmlcssinclude

解决方案


在 main.php 文件中包含所有与 header 相关的内容,从 file2.php 中删除 head 部分,然后在 main.php 的 body 部分中包含 file2.php。当您包含该文件时,它将获得上面的所有内容。这意味着 main.php 在 include() 函数之前拥有的任何内容都可以在被调用文件中访问(多亏了你可以将所有内容链接一次并使其在所有被调用文件中都可用)。

如果主文件将包含您在标签内需要的所有内容,则 Include() 会从您不需要的被调用文件中带来完整的代码结构(谈论头标签)。


推荐阅读