【问题标题】:How to load css in codeigniter如何在codeigniter中加载css
【发布时间】:2012-08-06 08:04:28
【问题描述】:

我是 codeigniter 的新手,我正在使用 v.2.12。当我尝试从外部文件加载 css 时出现错误。

我在应用程序文件夹中创建 css 文件夹。我以 all.css 的名称创建 css 文件。

在视图文件中,我使用以下代码链接 css 文件。

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

但是 css 文件没有加载。我收到 404 错误。这是我的配置设置:

$config['base_url'] = 'http://webscarlets.com/ci/index.php';
$config['index_page'] = 'index.php';

网站链接:http://webscarlets.com/ci/index.php/welcome.

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    这是在 CodeIgniter 中包含 CSS 文件的方式:

    <?php echo link_tag('css/mystyles.css'); ?>
    

    那个 sn-p 会输出这个 HTML:

    <link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css" />
    

    The function link_tag is in the HTML helper,必须先加载。

    (请注意,您可能不应该将 CSS 文件放在 /application/css 中。将它们放在 /css 或 /assets/css 中会更容易。)

    【讨论】:

      【解决方案2】:

      base_url() 函数应该返回基本路径(不带 index.php)

      您可以通过添加反斜杠来修复它:

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

      或从您的配置中删除 index.php:

      $config['base_url'] = 'http://webscarlets.com/ci/';
      

      【讨论】:

      • 感谢回复让我试试这个告诉你
      • 为 CSS 打印的 URL 是什么?
      • 在您的服务器上找不到文件夹 CSS。确保您上传了 CSS 文件夹和 all.css 文件
      • 查看我发布的另一个帖子的链接
      • @Alaa Badran 嗨,当我使用它时,我没有得到我的样式,而且在我对 firebug 的检查中,它显示访问被禁止,请帮助我...!!我正在尝试3天:(
      【解决方案3】:

      我只是找到了避免 index.php 文件并加载我们的 CSS 文件的解决方案。 只需将以下代码复制到 .htaccess 文件中即可:

      Options +FollowSymLinks
      Options -Indexes
      DirectoryIndex index.php
      RewriteEngine on
      RewriteCond $1 !^(index\.php|images|styles|scripts|robots\.txt|favicon\.ico)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
      

      您好!

      【讨论】:

      • OP 要求使用 PHP / CodeIgniter 方式来加载 css。您的回复不相关。
      【解决方案4】:

      要附加 CSS、JS、Images .etc,您只需转到您的 config 文件夹并在 constant.php 文件的末尾写入。

      define('URL','ADD YOUR LOCAL/REMOTE PATH');
      
      define('CSS',URL.'public/css/');
      define('IMAGES',URL.'public/images/');
      define('JS',URL.'public/images/');
      

      然后转到您的视图并在链接中添加

      <link rel="stylesheet" type="text/css" href="<?php echo CSS; ?>index.css">
      

      这将解决您的问题。

      希望对你有帮助。

      【讨论】:

        【解决方案5】:

        在您的控制器操作 /application/controllers/yourController.php 中添加以下行

        $this->load->helper('url');
        

        然后将下面的行添加到您的视图文件的头标签中。

        <link rel="stylesheet" type="text/css" href="<? echo base_url('assets/css/yourcssfile.css');?>" />
        

        假设你的 app 目录中创建了 assets/css/ 文件夹。

        <path to your app folder>/assets/css
        

        【讨论】:

          【解决方案6】:

          在使用base_url() 之前,您必须加载 URL 帮助程序类。

          在你的控制器中类似于$this-&gt;load-&gt;helper('url');

          base_url() 向您返回类似的路径
          'http://webscarlets.com/'
          如果你已经直接在根目录下设置或者'http://webscarlets.com/dir/'

          并确保您的 CSS 文件的位置。

          点击链接了解更多关于URL Helper

          【讨论】:

          • 感谢您的回复。我加载了基本 url 助手 $autoload['helper'] = array('url','form','html');
          【解决方案7】:

          另一种方法是

          在 constants.php 中定义一个常量(在 config 目录中)

          define("LAYOUT_URL","http://localhost/yoursite/css/");
          

          我假设这里的“css”文件夹位于应用程序文件夹中。现在你可以在页面中附加css了

          <link rel="stylesheet" type="text/css" href="<?php echo LAYOUT_URL;?>all.css">
          

          【讨论】:

          • 但是你能告诉我为什么这不起作用
          • define("LAYOUT_URL","localhost/yoursite/css/"); 我不知道这是访问 css 文件的正确方法吗?
          • 我不确定,但是由于配置中的 index.php,您的 base_url() 没有加载您的 css 文件。它可能会搜索控制器。我的方式是干净的方式,我的方式没有任何问题,只有在您使用它感到舒适时才重要。
          • 好的现在检查链接css没有加载。添加 htaccess 文件以从 url 中删除 index.php 后 css is not loading webscarlets.com/ci now if我删除 .htaccess 文件 css is working
          • 您能告诉我如何解决吗?这是我在 RewriteCond $1 上的 .htaccess 代码 RewriteEngine !^(index\.php|images|robots\.txt|css) RewriteRule ^(.*)$ /ci/index.php/$1 [L] 我添加了这个 htaccess 脚本在 ci 文件夹中
          【解决方案8】:

          作为 Jogesh_p。

          你使用 base_url 如下 放入控制器(你的控制器)

          $this->load->helper('url');
          

          在 控制器 中。 如果你想使用

          如下 放在你想使用 base_url 的地方。

          echo base_url()
          

          注意:最好在根目录下创建新文件夹

          (例如:主题) 相同:应用程序、系统、用户指南、主题)

          希望你能做到

          【讨论】:

            【解决方案9】:

            如下编辑autoload.php

            $autoload['helper'] = array('url');
            

            然后像这样加载css、js、图片

            img src="<?php echo base_url(); ?>assets/images/master.jpg"</img> 
            

            【讨论】:

              【解决方案10】:
              //config.php
                  $config['base_url'] = 'http://webscarlets.com/ci/';
                  $config['index_page'] = 'index.php';
              

              并尝试通过添加应用程序文件夹来加载css

              &lt;link rel="stylesheet" type="text/css" href="&lt;? echo base_url();?&gt;application /css/all.css"&gt;

              编辑

              这里 base_url() echos 'http://webscarlets.com/ci/' 然后添加路径为application /css/all.css的文件

              【讨论】:

              • 感谢您的回复。我按照你说的试过了,但是没有用。接下来我该怎么办?
              【解决方案11】:

              在控制器函数中包含$this-&gt;load-&gt;helper('html');。

              并在视图文件中使用linktag 关键字,如下所示:

              <html>
              <head>
                  <title></title>
                  <?php echo link_tag('resources/style.css');?>
              </head>
              <body>
                  <?php
                  ....
                  ?>
              </body>
              

              这里的资源是包含 style.css 文件的文件夹。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2014-01-08
                • 1970-01-01
                • 1970-01-01
                • 2012-07-13
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多