CSS不使用CodeIgniter

时间:2012-10-12 08:26:23

标签: php css codeigniter

以下是我的CI代码的一部分:

    class page extends CI_Controller {

        var $Page;

        public function __construct() {
            parent::__construct();
            $this->Page = 1;
            $this->load->model('posts_model');
            $this->load->helper('url');
        }


        public function index() {
            $data['posts'] = $this->posts_model->get_posts($this->Page);
            $this->load->view('header');
            $this->load->view('main', $data);
            $this->load->view('footer');
        }

        function page_num($page) {
            $this->Page = $page;
            $data['posts'] = $this->posts_model->get_posts($this->Page);
            echo $this->Page;
            $this->load->view('header');
            $this->load->view('main', $data);
            $this->load->view('footer');
        }

    }

这是我的查看文件的链接标记:

<link rel="stylesheet" type="text/css" href="css/indexpage.css" media="all"/>

当我打开索引文件(/ My-Site /)时,CSS工作正常,但当我打开

例如url:

“/ My-Site / page / page_num / 3”,

页面打开但没有CSS样式!

任何人都可以帮助我吗?

7 个答案:

答案 0 :(得分:7)

使用base_url()函数获取网站的网址

base_url()提供索引文件所在网站的网址。

例如:/My-Site/

或者您可以将文件位置作为参数:base_url('/css/indexpage.css'),然后将其用作<link rel="stylesheet" type="text/css" href="<?php echo base_url('/css/indexpage.css');?>" media="all"/>

答案 1 :(得分:4)

试试吧。

您可以在css中使用 base_url()。见下面的代码。

<link rel="stylesheet" href="<?php echo base_url(); ?>css/style.css" type="text/css" media="all" />

答案 2 :(得分:2)

1 - 将其更改为:

<link rel="stylesheet" type="text/css" href="<?php echo base_url('css/indexpage.css');?>" media="all"/>

你可以在

中知道这一点
application/config/config.php

$config['base_url'] = 'www.yorsite.com';

2 -

你必须只在你的一个观点中包含css

如果您已将其包含在header.php文件中 不要将它添加到main.php或footer.php

答案 3 :(得分:1)

使用

通常是一种好习惯
<base href="<?php echo base_url(); ?>" />

在视图页面的头部。 这样您就不必担心将base_url添加到所有href和src属性中。 因此,如果您的css文件位于codeigniter / assets / css文件夹中,请使用

<link type="text/css" rel="stylesheet" href="assets/css/style.css" />

对于后续脚本和css,您可以使用“assets / js / filename”或“assets / css / filename”。

答案 4 :(得分:0)

在此更改网址:

<link rel="stylesheet" type="text/css" href="css/indexpage.css" media="all"/>

为:

<link rel="stylesheet" type="text/css" href="/css/indexpage.css" media="all"/>

开头的斜线将指向没有任何子类别的域。

答案 5 :(得分:0)

使用codeigniter时,请记住输出HTML的唯一页面是index.php文件,因此您的css应该是相对于此文件的,或者您使用绝对URL。你可以在任何开发人员在webroot创建资产文件夹的地方创建一个文件夹,在这里他们放置他们的javascript文件夹图像文件夹和css文件夹。但最安全的方法是使用绝对链接为您的资产-Javascript,css和图像。 使用绝对链接最简单的方法是使用base_url(“assets / css / indexpage.css”); 这是如何使用它:

  1. 在任何控制器中加载url帮助程序。 $这 - &GT;负载&GT;助手('URL);
  2. 在您的视图中,您要进行链接的区域使用基本网址功能。

答案 6 :(得分:-1)

这取决于您放置css文件的位置。试试../ css / indexpage.css