如何在codeigniter中加载css

时间:2012-08-06 08:04:28

标签: php codeigniter

我是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

11 个答案:

答案 0 :(得分:32)

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

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

该代码段将输出此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中会更容易。)

答案 1 :(得分:10)

函数 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/';

答案 2 :(得分: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]

问候!

答案 3 :(得分:3)

在控制器操作/application/controllers/yourController.php

中添加以下行
$this->load->helper('url');

然后在视图文件的head标签中添加以下行。

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

假设您在app目录中创建了assets / css / folder。

<path to your app folder>/assets/css

答案 4 :(得分:2)

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

控制器中的$this->load->helper('url');

base_url()给你回路的路径     'http://webscarlets.com/'
如果您直接在根目录中设置它或'http://webscarlets.com/dir/'

并确保CSS文件的位置。

点击该链接,了解有关URL Helper

的更多信息

答案 5 :(得分:2)

另一种方式是

在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">

答案 6 :(得分:2)

作为 Jogesh_p

您使用 base_url ,如下所示 放入控制器(你的控制器)

$this->load->helper('url');
控制器中的

。 如果你想使用

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

echo base_url()

注意:最好在root用户创建新文件夹

(例如:主题) 相同:应用程序,系统,user_guide,主题)

我希望你能做到

答案 7 :(得分:2)

要附加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">

这将解决您的问题。

希望它有所帮助。

答案 8 :(得分:2)

按如下方式编辑autoload.php

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

然后加载css,js,像这样的图像

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

答案 9 :(得分:1)

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

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

来加载css

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

修改

下面 base_url()回声'http://webscarlets.com/ci/'然后添加包含路径application /css/all.css

的文件

答案 10 :(得分:1)

在控制器功能中包含$this->load->helper('html');

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

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

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