我有一个链接到css文件的头文件。当我运行头文件时,它显示我想要的。因此我知道css和头文件正在工作。当我在index.php中包含标题时,将忽略css并且标题显示不正确。
在头文件中,我将css导入为:
<link rel="stylesheet" href="css/style.css">
并在index.php中我将标头导入为:
<?php include("header/header.php"); ?>
我需要做什么,以便包含css以便页面正确显示?我的header.php位于一个头文件夹中,该文件夹还包含css文件夹。
答案 0 :(得分:4)
我会定义一个常量BASE_URL
,并在模板标题中使用它:
示例文件结构:
|--- css
| |--- main.css
|
|--- templates
| |--- footer.php
| |--- header.php
|
|--- index.php
的index.php
<?php
define('BASE_URL', $_SERVER['SERVER_NAME'] . "/");
include 'templates/header.php';
?>
My content
<?php
include "templates/footer.php";
?>
的header.php
<!DOCTYPE html>
<html>
<head>
<link href="<?= BASE_URL ?>css/main.css" type="text/css" rel="stylesheet">
</head>
<body>
footer.php
</body>
</html>
答案 1 :(得分:0)
我遇到了同样的问题,我不知道语言制作者做了什么。如果要在index.php或其他文件上使用带有css的标头,则必须确保标头和该文件位于同一目录中,而不是子目录中的标头。有了这个,你至少可以工作,直到找到更好的答案
include('header.php'); //this works even with the css in it
include('header/header.php'); // this does not work when you have a css file in it
答案 2 :(得分:0)
如果没有看到您的项目树等,就很难确切地指出问题所在。从你的问题我收集header.php文件加载正常,但你试图加载的CSS文件不是。
<?php include("header/header.php"); ?>
如上所述,当加载 header.php 文件时,浏览器正在标头/ css / 中查找 style.css 文件strong>文件夹,可能不存在。
然后,您就在自己网站的标题文件夹中。但我猜测 css 文件夹位于上一层?在这种情况下,我打赌你需要在header.php文件中返回以下级别的钱:
<link rel="stylesheet" href="../css/style.css">
如果css文件夹位于更远的一级,您可以上升到另一个级别:
<link rel="stylesheet" href="../../css/style.css">
如果失败,你可以恢复到根级别:
<link rel="stylesheet" href="/path/to/css/style.css">
答案 3 :(得分:0)
function base_url() {
$hostName = $_SERVER['HTTP_HOST'];
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://'?'https://':'http://';
return $protocol.$hostName.'/';
//Or return $protocol.$hostName.'/ your project folder'; -> if you are working on localhost
}
调用此函数以获取您网站的基本网址。
现在,您可以使用此功能来定义每个css或其他资产的位置。
<link rel="stylesheet" href="<?php echo base_url(); ?>path/to/style.css">
请记住在每个需要使用此功能的文件中包含包含函数base_url()
的文件。
答案 4 :(得分:0)
有两种可能的解决方案。
第一个,有可能在你的header.php中你把链接标签没有回声:
<?php <link rel = "stylesheet" href = "css / style.css" > ¿>
正确的形式是:
<?php echo "<link rel = \"stylesheet\" href = \"css / style.css\" > ?>
第二个,css路径错误。您可以将css文件放在文件夹css中,此文件夹位于头文件夹中。当你在index.php中包含header.php时,浏览器在css / style.css中寻找css样式表,它位于头文件夹中,正确的路径是header / css / style.css
你必须改变:
<link rel = "stylesheet" href = "css/style.css" >
要: