【问题标题】:stylesheet not working with codeigniter样式表不适用于 codeigniter
【发布时间】:2013-03-11 23:18:49
【问题描述】:

我是codeigniter的新手。我创建了名为mystyle.css的样式表,其文件夹结构为application/styles/mystyle.css。我的视图是first_view.php,文件夹结构为application/views/first_view.php。我已经放置了这样的href链接:

file:///C|/wamp/www/demo_code/application/styles/mystyle.css.

它不起作用,但它显示的内容没有样式。当我这样使用时

href="<?php echo base_url('styles/mystyle.css');?>" 

年龄显示没有内容。我不明白这是怎么回事。请帮助我

EDIT

我的配置文件包含这样的内容:

$config['base_url'] = '';
$config['index_page'] = 'index.php';

【问题讨论】:

    标签: php css codeigniter


    【解决方案1】:

    重要的是要理解,CSS 是纯粹的客户端,这与 CodeIgniter 无关。 CodeIgniter 生成 HTML,由客户端浏览器解析。

    HTML 标记

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

    指示您的浏览器下载一个单独的样式表文件/css/format.css,该文件是从以单独请求的网络服务器获取的

    您的网络服务器提供此文件,请注意,从网络服务器请求的所有文件的路径都相对于您的网络服务器配置的文档根目录。

    ../application/.. 看起来不像文档根目录中的文件夹。该文件夹通常称为 htdocs 或 public 或 httpdocs。 我认为 codeigniter 正在使用 central index.php 所有动态请求都被重定向到。静态文件必须位于同一文件夹或以下。

    【讨论】:

      【解决方案2】:

      我首先建议你将你的 css 存储在资产中

      /www
      /code_igniter
          /application
          /assets
              +img
              +css
              +js
          /controllers
          /system
      

      然后在你的视图中使用它作为包含它

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

      在你的 .htacess 文件中添加这个

        RewriteEngine on
        RewriteCond $1 !^(index\.php|assets|_searches|robots\.txt|favicon\.ico)
        RewriteRule ^(.*)$ /sample/index.php/$1 [L]
      

      还将此资产文件夹包含到您的 .htaccess file

      【讨论】:

      • 是创建插入css文件所需的assets文件夹
      • 不,如果你创建,那么你只需要一次将资产包含到你的 .htaccess 中
      • @AnazA 这不是必需的,但将外部资源保留在应用程序文件夹之外是一种很好的做法,有关此内容的更多信息,请参阅 michel 的回答
      • @AzamAlvi 我的 .htaccess 文件仅包含“全部拒绝”。
      • 该文件是在您的应用程序文件夹内还是在应用程序文件夹外?如果它在文件夹内,则将其复制并粘贴到应用程序文件夹之外意味着根然后打开它和我提到的过去代码,你只需要在第 3 行用你的网站名称或你的主文件夹更改名称 sample
      【解决方案3】:

      使用此代码集成样式表

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

      【讨论】:

        【解决方案4】:

        在配置文件中用 this 改变这一行

        $config['base_url'] = 'http://localhost/your_project_name/';
        

        如果您在本地服务器上运行您的站点,那么如果您在其他服务器上运行则什么也不做,然后输入其名称(域名)并替换为localhost

        【讨论】:

          【解决方案5】:

          将样式表、js 或其他资源放在应用程序文件夹之外。它是标准且安全的。使用这一行来包含 css 或 js。

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

          【讨论】:

          • 已将样式文件夹放在应用程序之外。仍然无法正常工作。是否需要更改.htacess 文件中的任何内容
          【解决方案6】:

          首先将您的文件夹结构更改为

           /public/css/mystyle.css (optional)
          

          要包含 样式表,您可以在

           <head> tag:
          

          作为

          <LINK href= "<?=site_url(); ?>public/css/mystyle.css" rel="stylesheet" type="text/css">
          

          如果不起作用,您必须配置您的 .htaccess

          【讨论】:

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