php - 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 代码。
我一直在寻找解决方案将近两个小时,似乎没有任何效果。提前致谢 !
解决方案
在 main.php 文件中包含所有与 header 相关的内容,从 file2.php 中删除 head 部分,然后在 main.php 的 body 部分中包含 file2.php。当您包含该文件时,它将获得上面的所有内容。这意味着 main.php 在 include() 函数之前拥有的任何内容都可以在被调用文件中访问(多亏了你可以将所有内容链接一次并使其在所有被调用文件中都可用)。
如果主文件将包含您在标签内需要的所有内容,则 Include() 会从您不需要的被调用文件中带来完整的代码结构(谈论头标签)。
推荐阅读
- elasticsearch - 需要从 Elasticsearch 上的 AND、OR 过滤器升级为 ES7 的布尔查询
- amazon-web-services - AWS 许可证管理器:如何确定谁使用了权利?
- json - 如何使用 JSON 根据另一列的内容过滤共享点列表中的查找?
- wordpress - 在 Dokan 插件的供应商新订单电子邮件中隐藏自定义 Woocommerce 附加费
- sql - 将 STUFF + FOR XML 从 SQL 转换为 Snowflake
- python - 在python中使用pandas for fsspec时导入错误?
- ios - 为什么点击应用程序图标在carplay中打开时carplay和react native应用程序崩溃?
- javascript - Sequelize 生成空迁移
- java - Spring Cloud 数据流:由于 fabric8io API 导致 504 网关超时
- sql - 使用以下查询在配置单元中处理除以零错误