第二次调用Codeigniter View后,背景图像消失

时间:2014-11-26 17:35:55

标签: php css html5 codeigniter

我正在开发codeigniter。 我为我的主页设置了背景图片。 现在发生的事情是,当我点击家庭控制器时,一个视图被调用并且它工作正常,但是当我尝试从另一个函数中明确地调用视图时,背景图像消失了,其他一切都保留在它的位置上。

这就是我在header_view的顶部,从这里调用背景图像。

<html lan="en">
<head>    
<style>
body {
    background-image: url("public/img/back1.jpg");
    background-repeat: no-repeat;
    background-position: right top;
}
</style>

这是我的控制器index()功能,当控制器被命中时会自动调用。

public function index() { 
    $this->load->view('home/inc/header_view');
    $this->load->view('home/home_view');
    $this->load->view('home/inc/footer_view');
}

每次点击控制器时都能正常工作。

在我明确调用的控制器的另一个函数之下,它还调用与索引函数相同的视图,但在输出中缺少背景图像。

public function get_user() {
    $this->load->view('home/inc/header_view');
    $this->load->view('home/home_view');
    $this->load->view('home/inc/footer_view');
}

我不明白当我点击控制器与get_user()函数做同样事情时自动调用的index()函数是什么问题,但是为什么输出在get_user()中不正确。请帮忙。感谢

3 个答案:

答案 0 :(得分:1)

为了防止每次转到不同页面时相对链接发生变化,您需要自动加载uri帮助程序并将样式和脚本URL包装为base_url(),如下所示:

background-image: url("<?php base_url('relative/path/to/image.img'); ?>");

答案 1 :(得分:1)

在您的application \ config \ config.php文件中设置baseurl,如下所示

 $config['base_url']    = 'http:/example.com/';//make sure it is your main path

现在改变这样的身体风格

background-image: url("<?php echo base_url();?>public/img/back1.jpg");

确保您有public/img这样的文件夹,图片就在那里 希望它能帮到你

答案 2 :(得分:1)

使用base_url()函数Read more