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"/>
这是工作,谢谢你们......
答案 0 :(得分:4)
你应该这样做
文件结构
myapp/
application/
system/
css/
img/
在css中写这个
body {
background:#356aa0 url(../img/background.png) repeat-x;
color:#fff;
}
现在称之为
<link rel="stylesheet" type="text/css" href="<?=base_url()?>css/style.css"/>
这是做到这一点的标准方式。此外,你的CSS不是动态的,所以你不必担心在其中使用PHP代码。我在答案中提出的结构肯定会正确使用样式并加载图像。
答案 1 :(得分:2)
从CSS文件中获取base_url()。那样可以解决问题。您不能将PHP代码放在CSS文件中。
答案 2 :(得分:2)
您不需要将php文件设为css。只需将您的图像文件放在“application”文件夹之外,例如assets / img。然后编辑你的css文件
.error {
color: #D8000C;
background-color: #FFBABA;
background-image: url('../img/error.png');
background-size: 20px 20px;
}
使用
调用css文件 <link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/style.css" media="all">
这绝对有效![/ p>
答案 3 :(得分:1)
CSS文件无法解析为PHP文件。如果您真的想要这样做,请将文件重命名为styles.php
打开页面并添加
header("content-type: text/css");
这告诉页面被视为基于文本的CSS文件。然后,您可以简单地回显剩余的CSS,如
echo "
body {
....
....
";
要修复无法从base_url()
访问的styles.php
,请设置会话变量以保留该值。您可以将此保留在index.php
代码指示符上。
$_SESSION['base_url'] = base_url();
现在,在styles.php
内使用。
background: url("<?php echo $_SESSION['base_url']; ?>"/../../some.jpg");
答案 4 :(得分:0)
如果你的文件夹结构是:
YourAppFolder/
application/
public/
css/
img/
system/
然后在你的视图中使用它:
<link rel="stylesheet" type="text/css" href="<?=base_url()?>public/css/style.css"/>
并在css中将此用于图像:
background:#356aa0 url(../img/background.png) repeat-x;
答案 5 :(得分:0)
试试这个..
替换它:
<link rel="stylesheet" type="text/css" href="<?=base_url()?>css/style.css"/>
<body>
</body>
有了这个:
<link rel="stylesheet" type="text/css" href="<?php base_url(CSS/style.css)?>"/>
<body>
</body>
还要在css / style.css中替换以下内容:
body {
background:#356aa0 url(<?=base_url()?>img/background.png) repeat-x;
color:#fff;
}
有了这个:
body {
background:#356aa0 url(../img/background.png) repeat-x;
color:#fff;
}
注意:如果它不起作用,请尝试使用一个点(。) - &gt;的 ./ IMG / background.png 强>
假设您的文件结构如下:
-ci
--application
--CSS
---file.css
--img
---background.png
--system
.
.
.
和您的base_url() : " http://localhost/sitename/ "
答案 6 :(得分:0)
或者你可以写......
<link rel="stylesheet" type="text/css" href="<? echo base_url('your css file from base url') ?>/>
这是你的外部css文件
body {
background:url(<? echo base_url('your image path from base url')?>) repeat-x;
color:#fff;
}