如何使用PHP代码而不是HTML代码导入/包含CSS文件?

时间:2011-06-11 12:00:01

标签: php html css import

我搜索了很多,但似乎我做错了。

我想这样做:

<?php
include 'header.php';
include'CSS/main.css';
...
?>

但是,我的页面会打印CSS代码。

注意:我想使用PHP来包含CSS文件,而不是使用 我也想把我的CSS文件重命名为PHP文件,就像某个网站提到的那样。

任何线索?

非常感谢。

14 个答案:

答案 0 :(得分:55)

您必须使用<style>标记围绕CSS:

<?php include 'header.php'; ?>
<style>
<?php include 'CSS/main.css'; ?>
</style>
...

PHP include也可以正常结束.css。通过这种方式,您甚至可以在CSS文件中使用PHP。这对组织起来非常有帮助。颜色作为变量。

答案 1 :(得分:39)

您将CSS代码作为文本包含在PHP页面中。为什么不以传统方式链接它?

<link rel="stylesheet" href="CSS/main.css" type="text/css">

答案 2 :(得分:8)

你可以使用:

<?php
$css = file_get_contents('CSS/main.css');
echo $css;
?>

并假设css文件已经没有,请将上面的内容包装在:

<style type="text/css">
...
</style>

答案 3 :(得分:7)

要使用“include”来包含CSS,您必须告诉PHP您正在使用CSS代码。将其添加到CSS文件的标题中,并将其设为main.php(或styles.css,或其他):

header("Content-type: text/css; charset: UTF-8");

这个可能帮助一些用户的连接,但从理论上讲(读取:我还没有测试过它)会给你的服务器增加处理器开销,据Steve Souder说,因为你的计算机可以下载多个文件立刻,使用include可能会更慢。如果你把你的CSS分成十几个文件,也许它会更快?

史蒂夫的博文:http://www.stevesouders.com/blog/2009/04/09/dont-use-import/ 资料来源:http://css-tricks.com/css-variables-with-php/

答案 4 :(得分:4)

    <?php
    define('CSSPATH', 'template/css/'); //define css path

    $cssItem = 'style.css'; //css item to display

    ?>

<html>
<head>
 <title>Including css</title>
  <link rel="stylesheet" href="<?php echo (CSSPATH . "$cssItem"); ?>" type="text/css">
</head>
<body>
...
...
</body>
</html>

你的CSS项目包括

答案 5 :(得分:2)

如果你想导入这样的CSS文件,只需给文件本身一个.php扩展名并导入它。它会工作得很好:))

答案 6 :(得分:2)

这是一篇较旧的帖子,但由于今天信息仍然相关,因此额外的选项可能有助于其他人。

  • 为每个Stefan's答案定义文件路径的常量。该 定义可以放在PHP页面本身的顶部,也可以放在 包含/必需的外部文件,如config.php。 (http://php.net/manual/en/function.include.php

  • 在PHP标记中回显常量,然后直接添加文件名。 那就是它! 适用于其他链接文件,例如JavaScript。

<?php
define('CSS_PATH', 'template/css/'); //define CSS path 
define('JS_PATH', 'template/js/'); //define JavaScript path 
?>
<!-- Doctype should be declared, even in PHP file -->
<!DOCTYPE html> 
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo CSS_PATH; ?>main.css">
<script type="text/javascript" src="<?php echo JS_PATH; ?>main.js"></script>
</head>
<body>
</body>
</html>

答案 7 :(得分:1)

您还可以执行以下操作:

  1. 在include文件夹中创建一个php文件,例如将其命名为bootstrap_css.php
  2. 将css代码文件粘贴到上面创建的文件

     <?php 
      $minCss=' <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">';
    
     $business = '<link href="bootstrap/css/modern-business.css" rel="stylesheet">';
    
      echo $minCss;
      echo $business;
    ?>
    
  3. 在html标题中,包含css文件如下

     <?php include_once 'includes/bootstrap_css.php'; ?>
    

答案 8 :(得分:0)

你可以这样做

<?php include("Includes/styles.inc"); ?>

然后在这个include文件中,有一个指向你的css文件的链接。

答案 9 :(得分:0)

我不知道你为什么需要这个,但为了做到这一点,你可以编辑你的css文件: -

<style type="text/css">
body{
...;
...;
}
</style>

您刚刚添加到此处并将其保存为main.php。你可以继续使用main.css,但它更好.php,因为它在你编辑后不会保留为css文件


然后像这样编辑您的HTML文件。 注意:在标记

中创建include语句
<html>
<head>
 <title>Sample</title>
 <?php inculde('css/main.css');>
</head>
<body>
...
...
</body>
</html>

答案 10 :(得分:0)

我通过在php echo中包含所有css指令然后将其保存为php文件(当然使用php标签开始和结束文件)解决了类似的问题,然后包含了php文件。 这是必要的,因为重定向遵循(header(“somefilename.php”))并且在重定向之前不允许使用html代码。

答案 11 :(得分:-1)

最好的方法是:

第1步: 将main.css重命名为main.php

第2步:在你的main.php中添加

<style> ... </style>

第3步:照常包含

<?php include 'main.php'; ?>

这就是我做到的,它运作顺畅..

答案 12 :(得分:-1)

只需放

echo "<link rel='stylesheet' type='text/css' href='CSS/main.css'>";

在php代码中,则表明您的样式。我尝试了100%。

答案 13 :(得分:-2)

_trace其目录,我想

echo css('lib/datatables_rqs/jquery.dataTables.css');