包括来自标题的php中的css

时间:2016-02-16 16:35:24

标签: php html css

我有一个链接到css文件的头文件。当我运行头文件时,它显示我想要的。因此我知道css和头文件正在工作。当我在index.php中包含标题时,将忽略css并且标题显示不正确。

在头文件中,我将css导入为:

<link rel="stylesheet" href="css/style.css">

并在index.php中我将标头导入为:

<?php include("header/header.php"); ?>

我需要做什么,以便包含css以便页面正确显示?我的header.php位于一个头文件夹中,该文件夹还包含css文件夹。

5 个答案:

答案 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

enter image description here

你必须改变:

<link  rel = "stylesheet"  href = "css/style.css" >

要: