16

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

4

11 回答 11

34

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

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

该片段将输出此 HTML:

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

该函数link_tag在 HTML 助手中,必须首先加载。

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

于 2013-06-07T09:16:16.217 回答
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/';
于 2012-08-06T08:09:44.760 回答
4

我只是找到了避免 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]

问候!

于 2013-08-29T15:25:30.633 回答
3

要附加 CSS、JS、Images .etc,您只需转到您的配置文件夹并在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">

这将解决您的问题。

希望能帮助到你。

于 2015-01-13T10:46:36.130 回答
3

在您的控制器操作 /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
于 2015-10-07T15:58:02.553 回答
2

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

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

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

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

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

于 2012-08-06T08:15:17.273 回答
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">
于 2012-08-06T08:32:35.510 回答
2

作为Jogesh_p

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

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

控制器中。如果你想使用

如下放置在您想要使用 base_url 的位置。

echo base_url()

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

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

我希望你能做到

于 2012-08-06T18:10:37.190 回答
2

编辑 autoload.php 如下

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

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

img src="<?php echo base_url(); ?>assets/images/master.jpg"</img> 
于 2016-07-03T14:44:01.940 回答
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

于 2012-08-06T08:38:50.507 回答
1

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

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

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

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

于 2016-07-21T05:50:36.717 回答