代码点火器:CSS文件中的base_url()不起作用

base_url()在CSS文件中不起作用…

这是我的PHP

<link rel="stylesheet" type="text/css" href="<?=base_url()?>css/style.css"/>
<body>
</body>

这是我的css / style.css:

body {
  background:#356aa0 url(<?=base_url()?>img/background.png) repeat-x;
  color:#fff;
}

文本颜色变为白色,但图像没有显示…
如果我使用url(../ img / background.png),它会显示出来……
但是当我打开url localhost / project / index.php / control / function / var1 / var2时,它不显示…

它解决了,谢谢每一个……:]

我在视图文件夹中制作php文件,如下所示:

<?php header("content-type: text/css"); ?>

body {
    background:url(<?=base_url()?>img/background.png);
}

我加载我刚刚用控制器功能的php文件,然后我链接它:

<link type="text/css" rel="stylesheet" href="<?=base_url()?>control/style.php"/>

这是工作,谢谢你们……

最佳答案
CSS文件无法解析为PHP文件.如果你真的想做那样的事情,请将你的文件重命名为styles.php

打开页面并添加

header("content-type: text/css");

这告诉页面被视为基于文本的CSS文件.然后你就可以简单地回显你剩下的CSS了

echo "
body {
....
....
";

要修复不能从styles.php访问的base_url(),请设置一个会话变量来保持它.你可以把它保存在codeignitor的index.php上.

$_SESSION['base_url'] = base_url();

现在,在styles.php中使用它.

background: url("<?php echo $_SESSION['base_url']; ?>"/../../some.jpg");

转载注明原文:代码点火器:CSS文件中的base_url()不起作用 - 代码日志