背景图像在第二次调用代码点火器视图后消失


Background image disappearing after 2nd call to Codeigniter View

我正在研究代码点火器。我已经为我的主页设置了背景图像。现在发生的事情是,当我点击家庭控制器时,会调用一个视图并且它工作正常,但是当我尝试从另一个函数中显式调用视图时,背景图像消失了,其他所有内容都保留在原地。

这是我在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');
}

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

为了防止每次转到不同页面时相对链接都更改,您需要自动加载 uri 帮助程序,并使用如下所示base_url()包装样式和脚本 url:

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

在你的应用程序''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 的文件夹,并且图像已返回1.jpg希望对您有所帮助

使用 base_url() 函数 阅读更多