How to load css in codeigniter

2019-01-17 17:01发布

问题:

I am new to codeigniter, and I am using v.2.12. I am getting an error when I try to load the css from the external file.

I create the css folder inside the application folder. And I create the css file in the name of all.css.

In the view file I use the following code to link the css file.

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

But the css file is not loading. I'm getting 404 error. Here is my configuration settings:

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

Website Link: http://webscarlets.com/ci/index.php/welcome.

回答1:

The function base_url() should return the base path (without index.php)

You may fix it by adding a backslash like:

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

or remove the index.php from your config:

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


回答2:

This is how you include CSS files in CodeIgniter:

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

That snippet will output this HTML:

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

The function link_tag is in the HTML helper, which must first be loaded.

(Note that you probably shouldn't put your CSS files in /application/css. It's just easier to put them in /css or maybe /assets/css.)



回答3:

I just find the solution to avoid index.php file and load ours CSS files. Just copy the code below in a .htaccess file:

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]

Greeting!



回答4:

Add below line in your controller action /application/controllers/yourController.php

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

Then add below line to your view file's head tag.

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

Assuming that you have assets/css/ folder is created in your app directory.

<path to your app folder>/assets/css


回答5:

before using the base_url() you should have to load the URL helper class.

something like $this->load->helper('url'); in your controller

base_url() return you the path something like
'http://webscarlets.com/'
if you have set it directly in the root or 'http://webscarlets.com/dir/'

and also make sure about the location of your CSS file.

follow the link to know more about URL Helper



回答6:

another way would be

define a constant in constants.php (in config directory)

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

"css" folder here i m assuming is inside application folder. NOw you can attach css in page like

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


回答7:

As Jogesh_p.

you use base_url as follow put in controller (your controller)

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

in controller . if you want to use

as follow put in where you want use base_url.

echo base_url()

NOTE: better you create new folder at root

(Example: theme) same: application, system, user_guide, theme)

i hope can you do



回答8:

To attach a CSS, JS, Images .etc you just have to do is go to your config folder and write at the end of the constant.php file.

define('URL','ADD YOUR LOCAL/REMOTE PATH');

define('CSS',URL.'public/css/');
define('IMAGES',URL.'public/images/');
define('JS',URL.'public/images/');

After that goto your view and in the link just add

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

this will solve your problem.

Hope it helps.



回答9:

Edit autoload.php as follows

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

Then load css , js,image like that

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';

and try to load css by adding application folder

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

EDIT

Here base_url() echos 'http://webscarlets.com/ci/' then adding the file with path application /css/all.css



回答11:

Include $this->load->helper('html'); in a controller function.

And use linktag key word in view file something like this:

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

Here the resources is the folder that contain the style.css file.